gpt4 book ai didi

hadoop - 运行 Oozie SSH + Java 操作

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

如何运行SSH+JAVA Action? .

我需要对我的远程机器运行 SSH 操作。在我的远程机器中,我有一个 jar 文件 + 属性文件必须被执行。如何为此编写工作流程?

在这种情况下,jar 文件是否会从 oozie lib 文件夹复制到远程机器。如果有,会复制到哪个地方/home/user/oozie-oozi/

我写了一个如下的工作流

   <action name="ssh-FileValidation">
<ssh xmlns="uri:oozie:ssh-action:0.1">
<host>user@myremotenode-ip</host>
<command>/home/user/testscript.sh</command>
</ssh>
<ok to="mr-job"/>
<error to="fail"/>
</action>

对于上述解决方案,我需要将 jar 文件和属性文件复制到我的远程计算机。

是否有任何其他方法不需要将 jar 文件复制到每台机器。在运行 oozie 时,oozie 本身会将所需的 jar 文件复制到 jar 将被执行的位置

仅供引用,但安装在 hadoop 中的远程机器仅安装了集群。

最佳答案

将您的 jar 放入 HDFS 中 workflow.xml 附近的 lib 目录,以及 workflow.xml 附近的属性文件:

/user/syed/super-oozie-app/
workflow.xml
super-oozie-app.properties
lib/
super-oozie-app.jar

然后你可以定义 Java Action 如下(假设 com.example.SuperOozieAppAction 类位于 super-oozie-app.jar 并且它有 main 方法,你想运行):

<action name="super-oozie-app-action">
<java>
...
<main-class>com.example.SuperOozieAppAction</main-class>
<file>super-oozie-app.properties#super-oozie-app.properties</file>
</java>
...
</action>

这样Oozie就为你解决了文件分发的问题。 SuperOozieAppAction 将启动,super-oozie-app.properties 将位于其当前目录中。

阅读有关 Java 操作的更多信息 here关于文件分发here .

关于hadoop - 运行 Oozie SSH + Java 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24736329/

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