1.修改本机中hadoop的core-site.xml文件
<!--允许oozie的客户端使用哪个用户来登陆hadoop-->
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
!!!如果是Hadoop的完全分布式,需要把这两个配置拷贝到每一个datanode的core-site.xml下面,否则可能会导致oozie提交的任务一直在running状态
修改之后重启hadoop
$ sbin/stop-dfs.sh
$ sbin/start-dfs.sh
2.
在修改job.properties和workflow.xml的时候,一定要记得有个地方———–
jobtracker一定要写你配置了yarn的那台主机名,因为oozie运行也是后台使用mapreduce来调度任务,启动mapreduce需要yarn来调度资源。
3.
有时候会碰到一些问题,比如我写了个shell脚本想放在oozie里面执行,结果发现oozie的web控制台显示已经执行成功,结果发现机器节点上这个shell脚本并没有被执行,原因是oozie会随机选择一台机器执行shell脚本,所以如果想保证每台机器运行,则必须每台机器要有必要的配置文件,环境变量,相应文件等。
4.
遇到的一些常见问题以及解决办法:
JA002: User: beifeng is not allowed to impersonate beifeng
//没有配置core-site.xml的proxyuser
JA008: File does not exist: hdfs://bigdata.com:8020/user/bigdata/oozie-apps/mem.sh#mem.sh
//文件没上传到hdfs上面
JA000:Call From bigdata.com/192.168.201.128 to bigdata.com:10020 failed on connection exception: java.net.ConnectException: 拒绝连接
//需要启动historyserver
$ sbin/mr-jobhistory-daemon.sh start historyserver
5.
有一点牢记,如果job的配置文件被修改,一定要重新上传到hdfs,才能重新执行,设置coordinator定时任务时,任务频率间隔不能少于五分钟
frequency="${coord:minutes(5)}