Hadoop流作业在OOzie中不工作
我正在尝试编写一个简单的map-only hadoop流式作业,从hdfs读取数据并将其推送到vertica 我已经编写了一个shell脚本,如下所示Hadoop流作业在OOzie中不工作,hadoop,oozie,hadoop-streaming,Hadoop,Oozie,Hadoop Streaming,我正在尝试编写一个简单的map-only hadoop流式作业,从hdfs读取数据并将其推送到vertica 我已经编写了一个shell脚本,如下所示 ./vsql -c "copy $TABLE from stdin delimiter E'\t' direct null '\\N';" -U $DBUSER -w $DBPWD -h $DBHOST -p $DBPORT 我已将oozie工作流创建为: <action name="loadToVertica">
./vsql -c "copy $TABLE from stdin delimiter E'\t' direct null '\\N';" -U $DBUSER -w $DBPWD -h $DBHOST -p $DBPORT
我已将oozie工作流创建为:
<action name="loadToVertica">
<map-reduce>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${nameNode}/user/$USER/output/${exportDataDate}"/>
</prepare>
<streaming>
<mapper>shell export.sh</mapper>
</streaming>
<configuration>
<property>
<name>oozie.libpath</name>
<value>${wfsBasePath}/libs</value>
</property>
<property>
<name>mapred.input.dir</name>
<value>${nameNode}/user/$USER$/{exportDataDate}</value>
</property>
<property>
<name>mapred.output.dir</name>
<value>${nameNode}/user/$USER/output/${exportDataDate}</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>0</value>
</property>
</configuration>
<file>${wfsBasePath}/libs/${STREAMING_JAR_PATH}#${STREAMING_JAR_PATH}</file>
<file>${wfsBasePath}/libs/oozie-sharelib-streaming-4.2.0.2.5.3.0-37.jar#oozie-sharelib-streaming-4.2.0.2.5.3.0-37.jar</file>
<file>${wfsBasePath}/scripts/export.sh#export.sh</file>
<file>${wfsBasePath}/config/vsql#vsql</file>
</map-reduce>
<ok to="end"/>
<error to="end"/>
</action>
${jobTracker}
${nameNode}
shell export.sh
奥齐·利伯斯
${wfsBasePath}/libs
mapred.input.dir
${nameNode}/user/$user$/{exportDataDate}
mapred.output.dir
${nameNode}/user/$user/output/${exportDataDate}
mapred.reduce.tasks
0
${wfsBasePath}/libs/${STREAMING_JAR_PATH}}{STREAMING_JAR_PATH}
${wfsBasePath}/libs/oozie-sharelib-streaming-4.2.0.2.5.3.0-37.jar#oozie-sharelib-streaming-4.2.0.2.5.3.0-37.jar
${wfsBasePath}/scripts/export.sh#export.sh
${wfsBasePath}/config/vsql#vsql
运行此操作时,作业的状态为失败/已终止,没有任何错误消息。在#之后添加-e/bin/sh帮助我跟踪实际错误是什么
在脚本中添加-e选项后,日志中出现错误代码
在此之后,第一行将如下所示:
#!/bin/sh -e
日志呢?试着在没有Oozie的情况下执行它。没有Oozie,它运行良好。数据已成功加载到Vertica@fierycat,有时可能与文件夹权限有关。日志将给出一个答案:
cd/var/log/oozie/;ls
或oozie job-oozie$oozie_URL-info{job id}
在纱线日志@fireycatthen中找不到任何错误。请先通过以下方式启用它们:或