还是一样的错误,怒了!难道不是Hadoop授权问题?而且本身来说我都是本地启动,不存在授权的问题啊.于是看下端口,lsof -i:8020,果真空空如也.早就应该想到这点了.于是去$HADOOP_HOME/conf/下查看core-site.xml发现HDFS的端口是9000,并不是这里默认的8020.同时看下maped-site.xml发现jobTracker端口是9001.于是去对应的app下,也就是我这里的$OOZIE_HOME/examples/apps/map-reduce下将job.properties中修改如下:
nameNode=hdfs://localhost:9000 jobTracker=localhost:9001 queueName=default examplesRoot=hadoop/oozie-3.0.2/examples oozie.coord.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/aggregator outputDir=map-reduce于是继续运行这个example,报如下错误:
Error: E0504 : E0504: App directory [hdfs://localhost:9000/user/guoyun/hadoop/oozie-3.0.2/examples/apps/aggregator] does not exist
想想我现在是伪分布式下运行Hadoop,从HDFS中拿文件则需要先存入到HDFS中.还是直接调用本地文件方便调试,于是将job.properties修改如下:
nameNode=file:// jobTracker=localhost:9001 queueName=default examplesRoot=hadoop/oozie-3.0.2/examples oozie.wf.application.path=${nameNode}/home/${user.name}/${examplesRoot}/apps/map-reduce outputDir=map-reduce再次运行得到以下结果:
job: 0000001-111109111632287-oozie-guoy-W
再去:11000/oozie查看也能看到该job,并有相应的状态.
OK!example运行成功!