2013-03-13 5 views
2

SGE 클러스터 설정에서는 제어기와 엔진 시작 사이에 지연이 필요합니다. 이 지연이없는 경우 일부 서버는 "이전"ipcontroller-client.json 파일을 사용하고 이전 (실행 중이 아닌) 컨트롤러에 연결을 시도합니다. 이것은 NFS "기능"이므로 해결을 위해 ipcluster_config.py 파일에 c.IPClusterStart.delay = 30을 설정하면 모든 것이 잘 작동합니다. 컨트롤러가 SGE에 제출되고 json 파일을 시작하고 쓰는 데 충분한 시간이 있고 엔진이 새로 실행중인 컨트롤러로 올바르게 시작할 수 있습니다. 그러나 노트북에서 클러스터를 시작할 수도 있습니다. 불행하게도이 시간 초과는 사용되지 않고 컨트롤러와 엔진은 동시에 시작됩니다 (watch qstat에서 볼 수 있듯이). 일부 엔진은 연결됩니다 (json 파일의 새 설정을 선택하기 때문에). (NFS 때문에).지연과 함께 노트북에서 IPython 클러스터 시작

나는 노트북에서 strace를 실행하고이 프로세스를 시작하기 위해 sge_controllersge_engines 스크립트 (시작을 누를 때 노트북에서 작성)를 사용하고 있음을 확인했습니다.

지연을 구현할 방법이 있는지 궁금합니다. 컨트롤러와 엔진을 올바른 방향 (SGE)으로 시작하기 때문에 ipcluster_config.py을 읽고 있습니다.

나는 인터넷 검색을하고 행운을 빌어이 사이트를 검색했습니다. 어쩌면 누군가가이 행동의 더 깊은 작동에 대해 밝힐 수 있습니다.

감사합니다, 크리스

+0

나는 지금 당장 작동하는 것으로 보이지만 여전히 클러스터 단위로 구성 될 수 있어야한다고 생각합니다. lib/python2.7/site-packages/IPython/frontend/html/notebook/clustermanager.py'에서'delay = CFloat (1., config = True, ...)'를'delay = CFloat 30., config = True, ...)'. 이제 클러스터는 컨트롤러와 엔진 사이의 30 섹션 지연으로 위와 같이 시작합니다. –

답변

2

음이 너무 늦게 영업 이익 아마, 그러나 희망은 사람을 도움이됩니다.

시간 초과 문제가있는 경우 c.EngineFactory.timeoutc.IPEngineApp.wait_for_url_file을 약간 큰 시간으로 설정하십시오. 그 첫 번째 실행 후 오류로 인해 경우

, 그것은 아마 전체 경로를 얻을 수 IPython.utils.path.get_security_file를 사용하여 관련 iPython의 프로필에서 삭제해야 느린 보안 파일 (ipcontroller-engine.jsonipcontroller-client.json) 때문이다. 이를 자동화하고 다소 고통스럽지 않게하려면이 삭제 단계를 동일한 프로필의 ipcluster_config.py 시작 부분에 붙여 넣을 수 있습니다.

이러한 변경 사항만으로도 노트북과 함께 클러스터를 쉽게 실행할 수있었습니다.

위의 방법으로 문제가 해결되지 않으면 다른 생각 (http://mail.scipy.org/pipermail/ipython-user/2011-November/008741.html)이 있습니다.

관련 문제