Oozie 的工作:yarn returns 启动操作时出错 [hive-4548]
Oozie's job: yarn returns Error starting action [hive-4548]
有一个包含 Hue 的 Cloudera 集群。我需要的是将 HQL 请求发送到 Hive 的调度程序任务。
我正在尝试通过集成在 Hue 中的网络构造器为 oozie 完成任务。
我的 HQL 请求文件 (request.hql):
INSERT INTO schema_child.table_child
SELECT * from shema_parent.table_parent LIMIT 5 ;
我的 XML 包含执行计划的文件 (workflow.xml):
<workflow-app name="hive-test" xmlns="uri:oozie:workflow:0.1">
<action name="hive-test">
<hive xmlns="uri:oozie:hive-action:0.1">
<job-tracker>claster.site.com:8032</job-tracker>
<name-node>hdfs://nsld3</name-node> <script>/user/myname/oozie/hive_test/request.hql</script>
</hive>
<ok to="insert_into_table"/>
<error to="kill_job"/>
</action>
</workflow-app>
我已经尝试将 vars 更改为直接 link:
${jobTracker} -> claster.site.com:8032
${nameNode} -> hdfs://nsld3:8020
但是纱线returns:
2021-05-24 18:01:33,162 WARN org.apache.oozie.command.wf.ActionStartXCommand: SERVER[claster.site.com]
USER[username] GROUP[-] TOKEN[] APP[hive-test] JOB[0000012-210501174618258-oozie-oozi-W]
ACTION[0000012-210501174618258-oozie-oozi-W@hive-4548] Error starting action [hive-4548].
ErrorType [TRANSIENT], ErrorCode [JA009], Message [JA009: bad conf file: top-level element not ]
我是 Hive 的初学者,所以我的工作基于 docs, some examles like this and stack's answers like this。
配置单元版本 1.1.0
Oozie 版本 4.1.0
问题:
- 为什么我的 oozie 作业不起作用?
- 如何在脚本中使用变量? oozie 的含义是什么?
P.S。对不起我的英语。
如果附加的执行计划显示了 workflow.xml 的全部内容,那么您需要为其添加开始、结束和终止。此外,Hive 操作需要 参数以及 Hive 设置的路径(通常它存储在 /etc/hive/conf/hive-site.xml)。
脚本的变量通常存储在job.properties文件中,所以jobTraker和nameNode等参数通常都在那里。此外,您可以在 workflow.xml.
开头的块 中定义自己的参数
最后应该是这样的。
<workflow-app name="hive-test-app" xmlns="uri:oozie:workflow:0.1">
<parameters>
<property>
<name>jobTracker</name>
<value>claster.site.com:8032</value>
</property>
<property>
<name>nameNode</name>
<value>hdfs://nsld3:8020</value>
</property>
</parameters>
<start to="hive-test" />
<action name="hive-test">
<hive xmlns="uri:oozie:hive-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>/etc/hive/conf/hive-site.xml</job-xml>
<script>/user/myname/oozie/hive_test/request.hql</script>
</hive>
<ok to="end"/>
<error to="kill"/>
</action>
<end name="end"/>
<kill name="kill"/>
</workflow-app>
有一个包含 Hue 的 Cloudera 集群。我需要的是将 HQL 请求发送到 Hive 的调度程序任务。 我正在尝试通过集成在 Hue 中的网络构造器为 oozie 完成任务。
我的 HQL 请求文件 (request.hql):
INSERT INTO schema_child.table_child
SELECT * from shema_parent.table_parent LIMIT 5 ;
我的 XML 包含执行计划的文件 (workflow.xml):
<workflow-app name="hive-test" xmlns="uri:oozie:workflow:0.1">
<action name="hive-test">
<hive xmlns="uri:oozie:hive-action:0.1">
<job-tracker>claster.site.com:8032</job-tracker>
<name-node>hdfs://nsld3</name-node> <script>/user/myname/oozie/hive_test/request.hql</script>
</hive>
<ok to="insert_into_table"/>
<error to="kill_job"/>
</action>
</workflow-app>
我已经尝试将 vars 更改为直接 link:
${jobTracker} -> claster.site.com:8032
${nameNode} -> hdfs://nsld3:8020
但是纱线returns:
2021-05-24 18:01:33,162 WARN org.apache.oozie.command.wf.ActionStartXCommand: SERVER[claster.site.com]
USER[username] GROUP[-] TOKEN[] APP[hive-test] JOB[0000012-210501174618258-oozie-oozi-W]
ACTION[0000012-210501174618258-oozie-oozi-W@hive-4548] Error starting action [hive-4548].
ErrorType [TRANSIENT], ErrorCode [JA009], Message [JA009: bad conf file: top-level element not ]
我是 Hive 的初学者,所以我的工作基于 docs, some examles like this and stack's answers like this。
配置单元版本 1.1.0
Oozie 版本 4.1.0
问题:
- 为什么我的 oozie 作业不起作用?
- 如何在脚本中使用变量? oozie 的含义是什么?
P.S。对不起我的英语。
如果附加的执行计划显示了 workflow.xml 的全部内容,那么您需要为其添加开始、结束和终止。此外,Hive 操作需要
脚本的变量通常存储在job.properties文件中,所以jobTraker和nameNode等参数通常都在那里。此外,您可以在 workflow.xml.
开头的块最后应该是这样的。
<workflow-app name="hive-test-app" xmlns="uri:oozie:workflow:0.1">
<parameters>
<property>
<name>jobTracker</name>
<value>claster.site.com:8032</value>
</property>
<property>
<name>nameNode</name>
<value>hdfs://nsld3:8020</value>
</property>
</parameters>
<start to="hive-test" />
<action name="hive-test">
<hive xmlns="uri:oozie:hive-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>/etc/hive/conf/hive-site.xml</job-xml>
<script>/user/myname/oozie/hive_test/request.hql</script>
</hive>
<ok to="end"/>
<error to="kill"/>
</action>
<end name="end"/>
<kill name="kill"/>
</workflow-app>