在本例中,hadoop版本为:0.20.2,oozie版本为:2.3.2
1.下载oozie-2.3.2
可以到cloudera官网下载:htt p://archive.cloudera.com/cdh/3/oozie-latest.tar.gz
2.解压至指定目录
tar -zxvf oozie-latest.tar.gz
3.设置环境变量:
#oozie配置
export OOZIE_HOME=/home/zhu/oozie-2.3.2-cdh3u6
export PATH=$PATH:$OOZIE_HOME/bin
4.把hadoop相关的jar和ExtJS库导入Oozie中(就是导入oozie.war文件中):
oozie-setup.sh -hadoop 0.20.200 ${HADOOP_HOME} -extjs /tmp/ext-2.2.zip
注意:
(1).如果没有ext-2.2.zip的话,可以到网上下载,百度一下很多的。
(2.要先把ext-2.2.zip文件放在指定位置,本例中放在/tmp目录下。
(3).如果执行以上命令时提示如下信息:
Specified Oozie WAR '/xxx/oozie.war' already contains Hadoop JAR files
说明你的oozie.war已经包含了hadoop相关的jar包,那么只需执行:
oozie-setup.sh -extjs /tmp/ext-2.2.zip
如果提示:New Oozie WAR file with added 'ExtJS library' at /home/zhu/softs/oozie-2.3.2-cdh3u6/oozie-server/webapps/oozie.war
INFO: Oozie is ready to be started
那么就说明ExtJS library成功导入oozie
(1).
ExtJS是一种主要用于创建前端用户界面,是一个基本与
后台
技术无关的前端
ajax框架
。ExtJS框架有着功能强大,界面显示美观的特点,oozie里引用ExtJS框架是为了使提供给用户查看和操纵oozie的web console(就是web 页面)更加美观和强大。
5.解压相关文件:
然后进入解压后的oozie-2.3.2-cdh3u6目录,再依次解压oozie-sharelib-2.3.2-cdh3u6.tar.gz(oozie运行依赖环境)、oozie-examples.tar.gz(ooize运行示例,不需要就不要解压了)、oozie-client-2.3.2-cdh3u6.tar.gz(ooize客户端,本例中用的是伪分布式,暂不需要)。
6.启动oozie服务:
启动oozie服务有如下两种方式,可任选一种方式启动oozie:
(1).启动oozie作为后台程序(守护程序)运行
oozie-start.sh
如果在系统提示“Oozie start succeeded”,则说明oozie启动成功
(2).启动oozie作为前台程序运行
ooize-run.sh
如果系统提示“INFO: Starting Coyote HTTP/1.1 on http-11000Jan 17, 2014 9:05:34 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3149 ms”,则说明oozie启动成功。
7.通过oozie的命令行工具检测oozie的运行状态:
oozie admin -oozie http://localhost:11000/oozie -status
如果提示“System mode: NORMAL”,则说明oozie服务运行正常。
注意:在启动oozie服务前,请保证你的电脑的”127.0.0.1“和”localhost “有正确的映射,该映射关系是在/etc/hosts文件中添加配置的。如果没有该映射关系,你启动oozie会碰到一些问题(比如端口创建失败,具体见最下面的错误说明)。
8.这时你也可以通过浏览器查看oozie运行状态:
在浏览器中输入:http://localhost:11000/oozie
显示结果如下:
至此,oozie的安装一完成,下面就可以运行oozie自带的示例或者你的程序了。可以参考http://blog.csdn.net/zhu_xun/article/details/18604285运行oozie自带示例
常见错误:
1.如果你执行oozie-start.sh命令提示启动成功(Oozie start succeeded),但执行
oozie admin -oozie http://localhost:11000/oozie -status命令一直无相应,或者通过浏览器访问localhost:11000/oozie没反应,那说明oozie服务没有启动成功,提示启动成功只是假象(或者说是oozie的bug),这时你可以运行oozie-run.sh命令,如果运行成功,这是你就可以正确访问,如果提示下面的问题,那么说明tomcat服务器在创建11000端口失败,如下
.java.net.BindException: Cannot assign requested address:
这是因为”127.0.0.1“和”localhost “没有有正确的映射,你需要更改/etc/host文件,加入一行:127.0.0.1 localhost
2.通过oozie-run.sh启动oozie服务提示.java.net.BindException: Cannot assign requested address异常,请参看上面"1"。
3.通过oozie-stop.sh命令关闭oozie服务时,提示PID file found but no matching process was found. Stop aborted.:ERROR: Oozie stop aborted
该错误说明当前系统进程中运行的oozie服务的进程id和$OOZIE_HOME/oozie-server/temp/oozie.pid文件中的进行号不匹配(大部分原因是因为oozie启动异常或者运行异常),这时你需要把$OOZIE_HOME/oozie-server/temp/oozie.pid文件删除,这时,你重新关闭oozie,就可以了。