我正在使用由slurm管理的集羣運行一些yarn/hadoop基準。爲此,我在由slurm分配的節點上啓動hadoop服務器,然後在其上運行基準測試。我意識到這不是運行生產hadoop集羣的預期方式,但需要。Slurm:在salloc vs srun下執行的代碼有什麼區別
要做到這一點,我開始寫一個腳本,運行srun例如srun -N 4 setup.sh
。該腳本寫入配置文件並在分配的節點上啓動服務器,其中編號最小的機器充當主節點。這一切正常,我可以運行應用程序。
但是,因爲我想啓動服務器一次,然後啓動多個應用程序,而不必在開始時重新啓動/編碼所有內容,我想使用salloc
代替。我原以爲這是一個簡單的例子,運行salloc -N 4
,然後運行srun setup.sh
。不幸的是,這不起作用,因爲不同的服務器無法相互通信。任何人可以向我解釋在使用srun
和使用salloc
然後srun
之間的操作環境有什麼不同?
非常感謝
丹尼爾
感謝澄清,丹尼爾。 –
您還應該注意原始來源https://groups.google.com/forum/#!topic/slurm-devel/wKaUEOzuQq4 –