Oozie shell 操作失败
Posted
技术标签:
【中文标题】Oozie shell 操作失败【英文标题】:Oozie shell action failing 【发布时间】:2018-05-16 07:10:28 【问题描述】:我正在尝试在我的 cloudera vm(快速启动 vm)中测试 oozie shell 操作。当运行一个简单的 hdfs 命令(hadoop fs -put ...)脚本时,它的工作但当我触发一个配置单元脚本时,oozie 作业以状态 “KILLED” 完成。在 oozie consol 上,我收到的唯一错误消息是
“主类[org.apache.oozie.action.hadoop.ShellMain],退出代码[1]”
虽然历史服务器(名称节点日志)中的基础作业即将成功。以下是 oozie 工作详情:
workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.5" name="WorkFlow1">
<start to="shell-node" />
<action name="shell-node">
<shell xmlns="uri:oozie:shell-action:0.2">
<job-tracker>$jobTracker</job-tracker>
<name-node>$nameNode</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>$queueName</value>
</property>
</configuration>
<exec>$myscript</exec>
<file>$myscriptpath#$myscript</file>
<capture-output/>
</shell>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Workflow failed, error
message[$wf:errorMessage(wf:lastErrorNode())] </message>
</kill>
<end name="end" />
</workflow-app>
------------------------------------
job.properties
nameNode=hdfs://quickstart.cloudera:8020
jobTracker=hdfs://quickstart.cloudera:8032
queueName=default
myscript=test.sh
myscriptpath=$nameNode/oozie/sl/test.sh
oozie.use.system.libpath=true
oozie.wf.application.path=$nameNode/oozie/sl/
workflowAppUri=$nameNode/oozie/sl/
-----------------------------------------------
test.sh
hive -e "create table test2 as select * from test"
如果有人能指出我弄错的方向,我将不胜感激。
【问题讨论】:
【参考方案1】:如果您能了解一下 Oozie Hive 行动,那就太好了。
它很容易配置。 Hive 操作将负责设置所有内容。
https://oozie.apache.org/docs/4.3.0/DG_HiveActionExtension.html
要连接 hive ,您需要显式添加 hive-site.xml 或 Hive 服务器详细信息以进行连接。
【讨论】:
以上是关于Oozie shell 操作失败的主要内容,如果未能解决你的问题,请参考以下文章