【转】Oozie4.2.0配置安装实战

什么是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
更进一步的介绍,见上述网站。
 
原文地址:https://www.cnblogs.com/zhzhang/p/5603568.html