2014-05-14 71 views
0

我有一個mrjob配置,其中包括從s3將大文件加載到HDFS中。我想將這些命令包含在配置文件中,但似乎所有引導程序命令都在集羣中的所有節點上執行。這是過度殺戮,也可能造成同步問題。僅在頭節點上執行mrjob boostrap命令

是否有某種方式只在mrjob配置中包含主節點的啓動命令,或者是羣集完成這些操作後SSH進入頭節點的唯一解決方案?

約阿夫

回答

0

好了,你可以讓你的步驟開始一個映射器,並設置在jobconf mapred.map.tasks = 1。我從來沒有嘗試過,但似乎它應該工作。

另一個建議:
用於協調文件系統或動物園管理員:

if get_exclusive_lock_on_resource(filesystem_path_or_zookeeper_path): 
    Do the expensive bit 
    release_lock(filesystem_path_or_zookeeper_path) 

if expensive_bit_not_complete(): 
    sleep 10