这是我的workflow.xml
<action name="hive-node">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${nameNode}/user/${wf:user()}/${wfeRoot}/output-data/hive"/>
<mkdir path="${nameNode}/user/${wf:user()}/${wfeRoot}/output-data"/>
</prepare>
<job-xml>hive-site.xml</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
<property>
<name>oozie.log.hive.level</name>
<value>DEBUG</value>
</property>
<property>
<name>oozie.hive.defaults</name>
<value>hive-default.xml</value>
</property>
</configuration>
<script>script.q</script>
</hive>
<ok to="end"/>
<error to="fail"/>
Hive失败,错误消息[$ {wf:errorMessage(wf:lastErrorNode())}]
我的job.properties文件
nameNode=hdfs://localhost:8020
jobTracker=localhost:8021
queueName=default
wfeRoot=wfe
oozie.use.system.libpath=true
oozie.libpath=/user/oozie/share/lib/hive
oozie.wf.application.path=${nameNode}/user/${user.name}/${wfeRoot}/hiveoozie
脚本
create table brundesh(name string,lname string) row format delimited fields terminated by ',';
我将hive-site.xml,script.hql和hive-default.xml复制到oozie app目录中。我正在使用cdh3
Error detalis:
Error code: JA018
Error Message: Main Class[org.apache.oozie.action.hadoop.HiveMain],exit code [9]
我将所需的jar文件复制到hdfs中的sharelib目录。我从$ OOZIE_HOME复制了oozie.sharelib.tar.gz中存在的所有jar fiels
我为错误而瞪眼但没有运气。请帮助我出错了
答案 0 :(得分:0)
如Ben所述,请检查Hive Log,它出现在受尊敬的Node中,或者在控制台URL中查看日志的详细信息。
还建议做另外需要执行的步骤:
从DFS位置备份Shared Lib Jar。
使用Oozie用户将相同的Jars从本地Hive Lib位置上传到DFS共享位置。
确定除了Hive Lib Path之外,其他本地位置不应该有任何重复的Hive Jar。
所有Nods都应该有相同的罐子。
如果你也使用Pig,那么请从Pig执行步骤1,步骤2,步骤3。
如果已正确设置Classpath,请检查Hadoop ClassPath。