gpt4 book ai didi

hadoop - 确认oozie使用java action运行的java代码是否只运行在单节点上

转载 作者:可可西里 更新时间:2023-11-01 14:50:30 25 4
gpt4 key购买 nike

我正在使用 oozie 运行工作流程。它有一个运行任意(非 map reduce)代码的 java 操作。此 java 代码用于在本地文件系统上创建文件和文件夹。我想确保 java 操作在 hadoop 集群的单个节点上运行(我的是 7 个节点)。对我而言,此 java 操作最好始终在同一台机器上运行,并且最好仅在 hadoop 主节点上运行。可能吗?即使有解决方法,也请分享。

最佳答案

Java Action 就像 map reduce 作业一样运行,因此您无法控制它将在集群中的哪个节点上运行。

我不确定 oozie 是否会尊重这一点。但是你可以尝试将可接受的映射器失败的数量设置为一个高值(比如 10),然后如果执行集群节点不是你想要的(使用 InetAddress 获取本地机器名称),则在你的 Java 操作中抛出异常/知识产权)。

然后希望(但不一定保证),您的操作将继续在不理想的节点上失败,并最终在您选择的节点上成功。

有点 hack,但它可能会起作用(再次取决于您是否可以在整个作业失败之前修改 map task 失败的次数 - mapred.map.max.attempts,这是默认为 4)

关于hadoop - 确认oozie使用java action运行的java代码是否只运行在单节点上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14245206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com