转Oozie4.2.0配置安装实战
Posted zhzhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转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
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/
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
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配置安装实战的主要内容,如果未能解决你的问题,请参考以下文章
windows通过Visual Studio Code中配置GO开发环境(转)
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段