标签:
什么是Oozie?
Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容:
- 工作流定义
- 当前运行的工作流实例,包括实例的状态和变量
Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。我们会使用hPDL(一种XML流程定义语言)来描述这个图。
修改HDFS配置:
修改hadoop core-site.xml,内容如下:
<property>
<name>hadoop.proxyuser.[USER].hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.[USER].groups</name>
<value>*</value>
</property>
其中,[USER]需要改为后面启动oozie tomcat的用户
不重启hadoop集群,而使配置生效
hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin -refreshSuperUserGroupsConfiguration
配置Oozie
(由于是在bs035上部署oozie,所以把下面的压缩包拷贝到bs035上)
1) 取得压缩包:
oozie-4.1.0/distro/target/oozie-4.1.0-distro.tar.gz
2) 解压缩:
tar -zxf oozie-4.1.0-distro.tar.gz
3)在oozie-4.2.0目录下新建libext目录,并把
ext-2.2.zip 拷贝到该目录下;
并拷贝hadoop相关jar包到该目录下
cp $HADOOP_HOME/share/hadoop/*/*.jar libext/
cp $HADOOP_HOME/share/hadoop/*/lib/*.jar libext/
把hadoop与tomcat冲突jar包去掉
mv servlet-api-2.5.jar servlet-api-2.5.jar.bak
mv jsp-api-2.1.jar jsp-api-2.1.jar.bak
mv jasper-compiler-5.5.23.jar jasper-compiler-5.5.23.jar.bak
mv jasper-runtime-5.5.23.jar jasper-runtime-5.5.23.jar.bak
拷贝mysql驱动到该目录下(使用mysql数据库,默认是derby)
scp mysql-connector-java-5.1.25-bin.jar node3:/usr/oozie/oozie-4.2.0/libext/
4)配置数据库连接,文件是conf/oozie-site.xml
<property>
<name>oozie.service.JPAService.create.db.schema</name>
<value>true</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:mysql://bs035.zx.nicx.cn:3306/oozie?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>hive</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>hive</value>
</property>
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/home/manual/module/hadoop-2.6.0-cdh5.4.0/etc/hadoop</value>
</property>
最后一个配置,是需要配置的,不然后面运行调度的时候,任务会报File /user/root/share/lib does not exist 的错误
5)启动前的初始化
a. 打war包
bin/oozie-setup.sh prepare-war
b. 初始化数据库
bin/ooziedb.sh create -sqlfile oozie.sql -run
c. 修改oozie-4.2.0/oozie-server/conf/server.xml文件,注释掉下面的记录
<!--<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />-->
d. 上传jar包
bin/oozie-setup.sh sharelib create -fs hdfs://bs035.zx.nicx.cn:8020 -locallib oozie-sharelib-4.1.0-cdh5.4.0-yarn.tar.gz
bin/oozie-setup.sh sharelib create -fs hdfs://bs035.zx.nicx.cn:8020 -locallib oozie-sharelib-4.1.0-cdh5.4.0.tar.gz
启动
bin/oozied.sh start
【转自】http://www.open-open.com/lib/view/open1453606606995.html
更进一步的介绍,见上述网站。
【转】Oozie4.2.0配置安装实战
标签:
原文地址:http://www.cnblogs.com/zhzhang/p/5603568.html