Oozie依赖hadoop,tomcat,ext(可选,如果需要查看web控制界面就需要安装).我这里Hadoop版本是0.20.2,tomcat版本是tomcat6,ext是ext-2.2.同时我这里安装的Oozie版本是3.0.2
1)先下载Oozie,下载地址:https://github.com/yahoo/oozie/downloads .我的下载路径是/home/guoyun/Downloads/oozie-3.0.2-distro.tar.gz
2)下载ext-2.2.zip,下载网址: http://code.google.com/p/eas/downloads/detail?name=Ext-2.2.zip&can=2&q= .我的下载路径是/home/guoyun/Downloads/ext-2.2.zip
3)安装tomcat,但Oozie依赖于通过$CATALINA_HOME/bin/startup.sh的方式启动Tomcat,所以通过Ubuntu自带的方式安装Tomcat貌似行不通(也就是sudo apt-get install tomcat6).于是还是手动上tomcat官网下载tomcat6.我的下载路径是/home/guoyun/Downloads/apache-tomcat-6.0.33.tar.gz
4)设置环境变量
vi ~/.bashrc
将OOZIE_HOME,CATALINA_HOME设置好,比如我这里是
export OOZIE_HOME=/home/guoyun/Downloads/oozie-3.0.2
export CATALINA_HOME=/home/guoyun/Downloads/apache-tomcat-6.0.33
设置好后运行命令:source ~/.bashrc.
这里可以验证设置是否成功,输入命令:$CATALINA_HOME/bin/startup.sh,然后浏览器里输入http://localhost:8080,如果浏览器里可以看到tomcat,则表示设置成功.下一步安装OOZIE
5)安装OOZIE
输入命令:$OOZIE_HOME/bin/oozie-setup.sh -hadoop 0.20.2 ${HADOOP_HOME} -extjs /home/guoyun/Downloads/ext-2.2.zip
其中0.20.2是你机器hadoop的版本
${HADOOP_HOME}是你机器上Hadoop的安装目录,我这里也是放到环境变量里.
/home/guoyun/Downloads/ext-2.2.zip就是刚下载的ext-2.2.zip所在路径.
运行这条命令Oozie会将hadoop相关jar和oozie等拷贝到Oozie中.同时得到以下结果则代表你安装成功:
New Oozie WAR file with added 'Hadoop JARs, ExtJS library' at /home/guoyun/hadoop/oozie-3.0.2/oozie- server/webapps/oozie.war
INFO: Oozie is ready to be started
如果报 Specified Oozie WAR '/xxx/oozie.war' already contains Hadoop JAR files 这种错误则表示你到oozie.war中已经包含了hadoop-xxx.jar.如此会导致extjs也安装不进去。解决到方法是到你对应到/xxx/oozie.war中删除掉hadoop-xxx.jar再重新安装即可.
6)启动OOZIE
这里你要先确定你的Tomcat没有在运行.输入命令:
$OOZIE_HOME/bin/oozie-run.sh
之后会看到一大把的输出,同时Oozie会启动Tomcat.当你看到
2011-11-8 15:41:21 org.apache.catalina.startup.Catalina start
信息: Server startup in 7365 ms
则表示Oozie启动成功.
7)查看web控制台
输入命令:
$OOZIE_HOME/bin/oozie admin -oozie http://localhost:11000/oozie -status
HADOOP Configuration
修改$HADOOP_HOME/conf/core-site.xml,加入以下配置,红色的root为用户名,蓝色的root为组名,IP地址为oozie的host。
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>192.168.200.56</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>root</value>
</property>
Start Web UI
在确保关闭了tomcat,即8080端口未被占用的情况下,执行nohup
Web
OOZIE Examples
解压$OOZIE_HOME/oozie-examples.tar.gz,修改examples/apps/map-reduce/job.properties,
nameNode=hdfs://192.168.200.56:9000
jobTracker=192.168.200.56:9001
queueName=default
examplesRoot=examples
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce
outputDir=map-reduce
执行$OOZIE_HOME/bin/oozie
正常的话会得到这样的结果:Job
说明任务已经提交成功,这时候刷新Web
这一步有两个地方容易出错:
Ø
Ø