oozie自带示例的运行
一、运行示例前的准备工作
1.启动oozie
oozie-start.sh或者oozie-run.sh,具体区别见上篇。
2.进入oozie的安装目录,解压oozie自带的examples
tar -zxvf oozie-examples.tar.gz
解压后会在当前目录下会生成examples文件夹,接下来所要运行的oozie的示例都在examples里面
3.解压oozie运行依赖库:
tar -zxvf oozie-sharelib-2.3.2-cdh3u6.tar.gz
解压后会在当前目录下生成share目录,里面的jar包是oozie运行时所必须的库文件。
4.在hdfs中分别创建examples、share目录
hadoop fs -mkdir examples share
5.将第2和第3步骤解压得到的examples和share目录下的文件放入相应的hdfs中的目录下:
[zhu@zhu oozie-2.3.2-cdh3u6]$ hadoop fs -put examples/* examples
[zhu@zhu oozie-2.3.2-cdh3u6]$ hadoop fs -put share/* share
二、运行示例
1.运行map-reduce示例
(1).进入oozie安装目录的examples/apps/map-reduce目录下,可以看到job,properties、lworkflow.xml两个文件及lib文件夹,参考如下:
(2).修改job.properties文件:
将nameNode和jobTracker的端口号改为自己机器上对应的端口号,我的系统中hdfs端口为9000,jobTracker的端口为9001,所以修改如下:
注:如果不清楚自己系统的hdfs端口号和jobTracker端口的话,可以分别查看hadoop安装路径下conf目录下的core-site.xml和mapred-site.xml文件。
(3).修改hadoop安装路径下的conf目录下的core-site.xml文件:
在该文件里面加入如下配置信息:
读者把上面的两个”zhu“改为自己对应的用户和该用户所在的组就ok了。
由于oozie运行的程序需放入hdfs内,且在以上两个步骤中对job.properties和workflow.xml文件做了修改,所以在此处必须重新把examples目录下的所有文件重新放入hdfs里面的examples目录下:
[zhu@zhu examples] hadoop fs -rmr examples/*
[zhu@zhu examples] hadoop fs -put * examples
然后,执行如下命令:
oozie job -oozie http://localhost:11000/oozie -config job.properties -run
打开浏览器,输入http://localhost:11000/oozie/,可以看到如下结果:
这是可以查看此job的输出信息:
hadoop fs -cat examples/output-data/map-reduce/part-00000
part-00000内容如下:
三、异常情况说明:
1.Error: E0902 : E0902: Exception occured: [java.net.ConnectException: Call to localhost/127.0.0.1:8020 failed on connection exception: java.net.ConnectException: Connection refused]
上面的异常信息是说localhost/127.0.0.1:8020端口拒绝连接。
这说明,你的系统中hdfs的连接端口不是8020,只要将8020改为你hdfs的连接端口就ok了,我的是9000。
编辑job.properties文件:
将nameNode=hdfs://localhost:8020改为nameNode=hdfs://localhost:9000。
同时,别忘了把jobTracker=localhost:8021改为jobTracker=localhost:9001,参考如下:注:如果不清楚自己系统的hdfs端口号和jobTracker端口的话,可以分别查看hadoop安装路径下conf目录下的core-site.xml和mapred-site.xml文件。
2.Error: E0902 : E0902: Exception occured: [org.apache.hadoop.ipc.RemoteException: User: zhu is not allowed to impersonate zhu]异常处理:
上面的异常是说当前提交oozie的job作业的“zhu”用户没有权限调用hadoop,解决的方法就是在在hadoop/conf目录下修改core-site.xml,加上如下内容:
其他示例的运行下次再写。。。。。