Hive tez模式下的Oozie配置单元脚本调度
我试图通过传递hadoop属性来调度配置单元工作流xml文件,以便在tez模式下运行配置单元脚本,以引用工作流xml文件中的tez jar文件,如下所示Hive tez模式下的Oozie配置单元脚本调度,hive,bigdata,oozie,apache-tez,Hive,Bigdata,Oozie,Apache Tez,我试图通过传递hadoop属性来调度配置单元工作流xml文件,以便在tez模式下运行配置单元脚本,以引用工作流xml文件中的tez jar文件,如下所示 <hive xmlns="uri:oozie:hive-action:0.2"> <job-tracker>${jobTracker}</job-tracker> <name-node>${nameNode}</name
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>hive-site.xml</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>tez.lib.uris</name>
<value>${nameNode}/apps/Tez/,${nameNode}/apps/Tez/lib/</value>
</property>
</configuration>
有谁能告诉我如何纠正这个问题,如何安排我的工作流程xml文件并在tez模式下运行配置单元脚本。我以前观察到了上述错误,我能够解决它,并且能够在Oozie上运行配置单元(tez引擎)
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
以下是我遵循的步骤
找不到类错误:
SessionNotRunning
类李>
这个类是tez-api-0.x.x.jar的一部分。您可以通过以下方式确认:
jar-tvf/usr/lib/tez/tez-api-0.7.0.jar | grep SessionNotRunning
您需要确保您的Oozie launcher容器(即Thread)将此和其他TEZ JAR本地化,以便将其传递给HiveClient
我们的期望是,如果我们在workflow.xml中包含以下config属性,那么oozie应该选择所有这些JAR
<property>
<name>tez.lib.uris</name>
<value>hdfs:///apps/tez/,hdfs:///apps/tez/lib/</value>
</property>
因此,通过以上步骤,我能够通过Oozie在TEZ引擎上成功运行一个hive脚本
<property>
<name>tez.lib.uris</name>
<value>hdfs:///apps/tez/,hdfs:///apps/tez/lib/</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>