我有几个关于 oozie 2.3 共享库的问题:
目前,我在 coordinator.properties 中定义了共享库:
oozie.use.system.libpath=true
oozie.libpath=<hdfs_path>
以下是我的问题:
当共享库被复制到其他数据节点时,有多少数据节点将获得共享库?
共享库是根据协调器作业中的 wf 数量复制到其他数据节点,还是每个协调器作业只复制一次?
我有几个关于 oozie 2.3 共享库的问题:
目前,我在 coordinator.properties 中定义了共享库:
oozie.use.system.libpath=true
oozie.libpath=<hdfs_path>
以下是我的问题:
当共享库被复制到其他数据节点时,有多少数据节点将获得共享库?
共享库是根据协调器作业中的 wf 数量复制到其他数据节点,还是每个协调器作业只复制一次?
有效地将条目添加到oozie.libpath
属性意味着 OOZIE 将在mapred.cache.files
执行工作流中的操作时将这些库配置为配置属性(这是一个 DistributedCache 属性)。
然后,Hadoop 将负责在每个作业中将这些 jar 复制到每个集群节点一次,然后使用 classpath 配置属性中的 jar 配置任务mapred.job.classpath.files
因此,在回答您的第二个问题时,将为工作流中的每个操作复制它们,而不是每个协调员工作一次。因此,如果您有一个具有 4 个 mapreduce 操作的 wf 作业,则在该工作流的生命周期中,这些库将被复制到每个 tasktracker(仅那些参与 mapreduce 作业的任务跟踪器)4 次。