0
我有一個mrjob配置,其中包括從s3將大文件加載到HDFS中。我想將這些命令包含在配置文件中,但似乎所有引導程序命令都在集羣中的所有節點上執行。這是過度殺戮,也可能造成同步問題。僅在頭節點上執行mrjob boostrap命令
是否有某種方式只在mrjob配置中包含主節點的啓動命令,或者是羣集完成這些操作後SSH進入頭節點的唯一解決方案?
約阿夫
我有一個mrjob配置,其中包括從s3將大文件加載到HDFS中。我想將這些命令包含在配置文件中,但似乎所有引導程序命令都在集羣中的所有節點上執行。這是過度殺戮,也可能造成同步問題。僅在頭節點上執行mrjob boostrap命令
是否有某種方式只在mrjob配置中包含主節點的啓動命令,或者是羣集完成這些操作後SSH進入頭節點的唯一解決方案?
約阿夫
好了,你可以讓你的步驟開始一個映射器,並設置在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