我正在尝试运行包含sqoop和hive作业的oozie工作流程但是在Job的运行状态变为PREP并且一段时间后它转换为START_RETRY,如图所示
我的workflow.xml文件是
<workflow-app xmlns="uri:oozie:workflow:0.5" name="simpleWF">
<start to="sqoop-import-A"/>
<action name="sqoop-import-A">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<command>import --connect
jdbc:mysql://quickstart.cloudera/movie_lens --username
root --password cloudera --table ratings --target-dir
/user/cloudera/Movie_AY377330 -m 1</command>
</sqoop>
<ok to="sqoop-import-B"/>
<error to="fail"/>
</action>
<action name="sqoop-import-B">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<command>import --connect
jdbc:mysql://quickstart.cloudera/movie_lens --username root
--password cloudera --table movie --target-dir
/user/cloudera/Movie_AY3773301 -m 1</command>
</sqoop>
<ok to="sqoop-import-C"/>
<error to="fail"/>
</action>
<action name="sqoop-import-C">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>
<command>sqoop import --connect
jdbc:mysql://quickstart.cloudera/movie_lens --username
root --password cloudera --table tags --target-dir
/user/cloudera/Movie_AY3773302 -m 1</command>
</sqoop>
<ok to="hive-node"/>
<error to="fail"/>
</action>
<action name="hive-node">
<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>
</configuration>
<script>hive1.hql</script>
</hive>
<ok to="hive-node-2"/>
<error to="fail"/>
</action>
<action name="hive-node-2">
<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>
</configuration>
<script>hive2.hql</script>
<param>OUTPUT_PATH1=${outputPath1}</param>
</hive>
<ok to="hive-node-3"/>
<error to="fail"/>
</action>
<action name="hive-node-3">
<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>
</configuration>
<script>hive3.hql</script>
<param>OUTPUT_PATH2=${outputPath2}</param>
</hive>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
我的job.properties文件是
nameNode=hdfs://localhost:8020
jobTracker=localhost:50300
queueName=default
exampleRoot=example
folder= test
outputPath1=
outputPath2=
oozie.use.system.libpath=true
oozie.libpath=/user/oozie/share/lib
oozie.wf.application.path=${nameNode}/user/${user.name}/${exampleRoot}
我在Oozie job stuck at START action in PREP state找到了类似的问题并尝试解决问题,但不知道该怎么做。
我知道我的namenode或jobtracker地址有问题。
我可以通过localhost:50070
在浏览器中访问我的namenode一段时间后,作业暂停,错误
JA009: Failed on local exception:
com.google.protobuf.InvalidProtocolBufferException: Protocol message end-
group tag did not match expected tag.; Host Details : local host is:
"quickstart.cloudera/127.0.0.1"; destination host is: "localhost":8088;
提前致谢。