通过oozie提交HIVE查询时收到错误

时间:2015-05-20 07:45:09

标签: hive oozie

我是oozie的新手,我正在创建一个工作流来运行一个hive查询,只是使用select语句从hive显示一个表的数据,但是一旦我提交了这个作业,就会给出以下错误。

JA017:与行动[0000000-150519212325700-oozie-oozi-W @ adstest]相关联的未知hadoop作业[job_local1866275230_0001]。失败了这个动作!

下面是我的hive-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/metastore</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hiveuser</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>password</value>
  </property>
  <property>
    <name>datanucleus.autoCreateSchema</name>
    <value>false</value>
  </property>
  <property>
    <name>datanucleus.fixedDatastore</name>
    <value>true</value>
  </property>
  <property>
    <name>datanucleus.autoStartMechanism</name>
    <value>SchemaTable</value>
  </property>
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://localhost.localdomain:9083</value>
  </property>
  <property>
    <name>hive.support.concurrency</name>
    <value>true</value>
  </property>
  <property>
    <name>hive.zookeeper.quorum</name>
    <value>localhost</value>
  </property>

  <!-- workaround for https://issues.cloudera.org/browse/IMPALA-1416 -->
  <property>
    <name>hive.metastore.try.direct.sql</name>
    <value>false</value>
  </property>
  <property>
    <name>hive.metastore.try.direct.sql.ddl</name>
    <value>false</value>
  </property>

以下是 workflow.xml

<workflow-app name="adstest" xmlns="uri:oozie:workflow:0.4">
    <start to="adstest"/>
    <action name="adstest">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
              <job-xml>hive-conf.xml</job-xml>
            <script>adstest.hql</script>
            <file>hive-conf.xml#hive-conf.xml</file>
        </hive>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

我没有选择任何参数,因为它只是一个简单的选择查询,用于显示表格的前20个结果。

如果我必须在任何配置文件中制作任何字符,请告诉我。

1 个答案:

答案 0 :(得分:1)

执行Oozie工作流程时,Oozie会检查作业的状态,当作业运行时,Oozie会将状态报告为正在运行,但是在作业完成后,它会从历史记录服务器查询数据,如果作业ID不是在历史服务器上找到Oozie无法获取状态并将工作流的状态标记为失败。

但是,工作流程可能已成功完成,输出将可用。资源管理器还将报告已执行的应用程序状态为已完成/已成功。

  1. 确保所有节点的以下2个参数相同:

    mapreduce.jobhistory.intermediate-完成-DIR

    mapreduce.jobhistory.done-DIR

  2. 重新启动YARN服务和历史记录服务器。有关详细信息,请参阅此链接。 https://support.pivotal.io/hc/en-us/articles/202530283-Oozie-logs-report-Unknown-hadoop-job-and-history-server-UI-not-populated