HDP上的ooize可以使用Workflow Manager配置使用。
不过Hortonworks相关的内容分散在好几个文档里, 而且其中不同组件的设置也不在一起,这个很让人头痛。
主要是这几个文档:
workflow-management
bk_data-movement-and-integration
比要使用如spark2就要参考 bk_spark-component-guide
具体使用下来,目前碰到最大的问题是错误跟踪困难,yarn的监控日志的具体定位确实比较难找。
其中还要对具体组件有所了解,不然没法定位。比如碰到过一次 yarn 参数没有设置好,默认启动spark节点报143错误,这是一个资源申请不够的问题,临时设置spark参数才运行下去。
建议最好个组件都独自运行下,确认对的,再判断是ooize的lanuch问题还是yarn的问题。
ooize lib的问题
这部分实际上应该不会有问题,不过由于我操作的顺序的问题,花了不少时间才弄明白。
先说正确的,oozie admin -shareliblist后应该是这样的,
如果不是这样的,删除/user/oozie/share/lib, 然后重起oozie服务即可。
接下来我主要描述下我操作的错误过程,
开始时oozie我没装,也就没有启动服务,
按照workflow-management的第6章Sample ETL Use Case我把这个目录创建了/user/oozie/share/lib/lib_20180625
然后oozie admin -sharelibupdate
悲剧就从这个里开始了,
这时候oozie admin -shareliblist显示出来的结果不正确,
[Available ShareLib]
lib_20180625
尝试设置config文件,增加
<property>
<name>oozie.action.ship.launcher.jar</name>
<value>true</value>
</property>
修改后
[Available ShareLib]
lib_20180625
launcher_20180627104332
执行具体的workflow会报这个错,Could not locate Oozie sharelib
2018-06-26 17:33:38,826 WARN ActionStartXCommand:523 - SERVER[bigdatanode0] USER[admin] GROUP[-] TOKEN[] APP[wkf_test02] JOB[0000000-180626171947261-oozie-oozi-W] ACTION[0000000-180626171947261-oozie-oozi-W@hive2_1] Error starting action [hive2_1]. ErrorType [FAILED], ErrorCode [EJ001], Message [Could not locate Oozie sharelib]
看到这个连接文档http://oozie.apache.org/docs/4.2.0/AG_Install.html#Oozie_Share_Lib,在修改service 管理页面修改oozie config
oozie.action.ship.launcher.jar=true
重起服务后,执行oozie admin -shareliblist
[Available ShareLib]
lib_20180625
launcher_20180627104332
实际上就是
[oozie@bigdatanode0 conf]$ hdfs dfs -ls /user/oozie/share/lib
Found 2 items
drwxr-xr-x - oozie hdfs 0
2018-06-27 10:43 /user/oozie/share/lib/launcher_20180627104332
drwxr-xr-x - oozie hdfs 0
2018-06-25 17:37 /user/oozie/share/lib/lib_20180625
这个时候job能运行 但是节点出错,后来还是删除/user/oozie/share/lib,再试,成功了。
总的来说,如果有问题,先考虑这3个问题
a.用户目录创建了没有,权限对不对
如/user/oozie,/user/admin
b.lib配置对不对
oozie admin -shareliblist 要直接显示所有组件的目录
c.系统的代理用户配置
hadoop.proxyuser.ambari.groups='*'
hadoop.proxyuser.ambari.hosts=bigdatamster
具体可以看具体的oozie日志
/var/log/oozie/oozie-error.log
workflow的正常结果,不是这样会有警告,如缺少lib目录会
- /workflow.xml
- /config-default.xml
- /lib/ (*.jar;*.so)
lib配错了一些其他错误性,只要lib配置正确就可以了
2018-06-26 17:09:55,076 WARN SparkConfigurationService:523 - SERVER[bigdatanode
0] Spark Configuration could not be loaded for *: /usr/hdp/current/oozie-server/
conf/spark-conf does not exist
2018-06-26 17:29:31,156 ERROR SubmitXCommand:517 - SERVER[bigdatanode0] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[-] ACTION[-] XException,
org.apache.oozie.command.CommandException: E0706: Node cannot transition to itself node [load_sparktest00]