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

问题:

  1. 为什么我的 oozie 作业不起作用?
  2. 如何在脚本中使用变量? 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>