oozie外壳操作失败

fnx2tebb  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(372)

我正在尝试在我的clouderavm(quickstart vm)中测试oozie shell操作。当运行一个简单的hdfs命令(hadoop fs-put…)脚本时,它正在工作,但是当我触发一个配置单元脚本时,oozie作业完成,状态为“killed”。在oozie控制台上,我收到的唯一错误消息是
“主类[org.apache.oozie.action.hadoop.shellmain],退出代码[1]”
而history server中的底层作业(name node logs)即将成功。以下是oozie的工作细节:

workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.5" name="WorkFlow1">
      <start to="shell-node" />
          <action name="shell-node">
        <shell xmlns="uri:oozie:shell-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <exec>${myscript}</exec>
            <file>${myscriptpath}#${myscript}</file>
            <capture-output/>
        </shell>
        <ok to="end"/>
        <error to="fail"/>
    </action>
        <kill name="fail">
          <message>Workflow failed, error
            message[${wf:errorMessage(wf:lastErrorNode())}] </message>
        </kill>
        <end name="end" />
</workflow-app>
------------------------------------
job.properties
nameNode=hdfs://quickstart.cloudera:8020
jobTracker=hdfs://quickstart.cloudera:8032
queueName=default
myscript=test.sh
myscriptpath=${nameNode}/oozie/sl/test.sh
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/oozie/sl/
workflowAppUri=${nameNode}/oozie/sl/
-----------------------------------------------
test.sh
hive -e "create table test2 as select * from test"

如果有人能给我指点方向,我会非常感激的。

t9eec4r0

t9eec4r01#

如果你能看看oozieHive的行动就好了。
它很容易配置。Hive行动将负责设置一切。
https://oozie.apache.org/docs/4.3.0/dg_hiveactionextension.html
要连接配置单元,需要显式地添加hive-site.xml或配置单元服务器详细信息,以便进行连接。

相关问题