Configuration 仅在头部节点上执行mrjob boostrap命令

Configuration 仅在头部节点上执行mrjob boostrap命令,configuration,mrjob,Configuration,Mrjob,我有一个mrjob配置,包括将一个大文件从s3加载到HDFS中。我希望在配置文件中包含这些命令,但似乎所有引导命令都在集群中的所有节点上执行。这是过度的杀伤力,也可能造成同步问题 是否有某种方法仅在mrjob配置中包含主节点的启动命令,或者是在集群开始执行这些操作后,将SSH连接到头节点的唯一解决方案 Yoav好的,您可以让步骤从映射器开始,并在jobconf中设置mapred.map.tasks=1。我从来没有试过,但看起来应该有用 另一项建议: 使用文件系统或zookeeper进行协调: i

我有一个mrjob配置,包括将一个大文件从s3加载到HDFS中。我希望在配置文件中包含这些命令,但似乎所有引导命令都在集群中的所有节点上执行。这是过度的杀伤力,也可能造成同步问题

是否有某种方法仅在mrjob配置中包含主节点的启动命令,或者是在集群开始执行这些操作后,将SSH连接到头节点的唯一解决方案


Yoav

好的,您可以让步骤从映射器开始,并在jobconf中设置mapred.map.tasks=1。我从来没有试过,但看起来应该有用

另一项建议: 使用文件系统或zookeeper进行协调:

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