学习笔记:从0开始学习大数据-33.oozie安装部署及运行examples

本文详细介绍了Oozie工作流引擎的安装与配置流程,涵盖了从下载、编译到部署的全过程,并提供了测试运行实例的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oozie是一个工作流引擎服务器,用于运行Hadoop Map/Reduce任务工作流(包括M/R、Pig、Hive、Sqoop等)
工作流管理软件有Azkaban、Oozie、Cascading、Hamake等多种引擎可选。

1.下载网站:  http://oozie.apache.org
下载版本是oozie4.3.1.tar.gz

2.解压
tar -zxvf oozie-4.3.1.tar.gz

3.编译
检查并修改 pox.xml中各依赖软件版本,根据需要修改版本号,开始没有做任何修改 ,但后来安装好后运行项目总提示错误,后来修改把hadoop.version等版本修改为与已安装环境匹配的版本,就能顺利运行oozie测试项目。
bin/mkdistro.sh -Dhadoop.version=2.6.0 -DskipTests

提示 no svn in(...)
no git in(...)
分别先安装
yum install svn
yum install git
再次运行编译提示
bin/mkdistro.sh:行71: mvn: 未找到命令
需要安装maven
yum install maven
再运行编译命令,终于成功

4. 部署编译的文件
把原来的源文件目录改名: 
mv oozie-4.3.1 oozie-4.3.1-src
复制编译好的文件包:
cp  oozie-4.3.1-src/distro/target/oozie-4.3.1-distro.tar.gz  ./
解压文件包:
tar -zxvf oozie-4.3.1-distro.tar.gz
删除文件包:
rm oozie-4.3.1-distro.tar.gz

5.修改oozie配置文件oozie-site.xml
nano oozie-4.3.1/conf/oozie-site.xml  全文如下:
<configuration>
<property>
    <name>oozie.service.JPAService.jdbc.driver</name>
    <value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
    <name>oozie.service.JPAService.jdbc.url</name>
    <value>jdbc:mysql://centos7:3306/oozie</value>
</property>
<property>
    <name>oozie.service.JPAService.jdbc.username</name>
    <value>root</value>
</property>
<property>
    <name>oozie.service.JPAService.jdbc.password</name>
    <value>123</value>
</property>

        <property>
                <name>oozie.home.dir</name>
                <value>*=/home/linbin/software/oozie-4.3.1</value>
        </property>
<property>
    <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
    <value>*=/home/linbin/software/hadoop-2.6.0-cdh5.16.0/etc/hadoop</value>
</property>
<property>
    <name>oozie.service.WorkflowAppService.system.libpath</name>
    <value>hdfs://centos7:8020/user/root/oozie/share/lib</value>
</property>

        <property>
                <name>oozie.service.SparkConfigurationService.spark.configurations</name>
                <value>*=/home/linbin/software/spark-1.6.0-cdh5.16.0/conf</value>
        </property>
        <property>
                <name>oozie.service.WorkflowAppService.system.libpath</name>
                <value>/user/root/oozie/share/lib</value>
        </property>
        <property>
                <name>oozie.use.system.libpath</name>
                <value>true</value>
        </property>

</configuration>

6. 修改oozie配置文件oozie-env.sh
nano oozie-4.3.1/conf/oozie-env.sh 增加如下内容:
export OOZIE_INSTANCE_ID="${OOZIE_HTTP_HOSTNAME}"
export OOZIE_CONF=${OOZIE_HOME}/conf
export OOZIE_DATA=${OOZIE_HOME}/data
export OOZIE_LOG=${OOZIE_HOME}/logs
export CATALINA_BASE=${OOZIE_HOME}/oozie-server
export CATALINA_TMPDIR=${OOZIE_HOME}/oozie-server/temp
export CATALINA_OUT=${OOZIE_LOG}/catalina.out


7.修改hadoop配置文件
hadoop2.6.0-cdh5.16.0/etc/hadoop/core-site.xml 加入如下内容:
<property>
     <name>hadoop.proxyuser.root.hosts</name>
     <value>*</value>
</property>
<property>
     <name>hadoop.proxyuser.root.groups</name>
     <value>*</value>
</property>
其中root是用户名,如果其它用户身份运行,修改为对应的用户名

8.修改环境变量 etc/profile
export OOZIE_HOME=/home/linbin/software/oozie-4.3.1
export PATH=$PATH:$OOZIE_HOME/bin
export OOZIE_CONFIG=$OOZIE_HOME/conf
export OOZIE_URL=http://centos7:11000/oozie

source /etc/profile

9.启动hdfs,创建oozie目录
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
hadoop fs -mkdir /user/root/oozie

10.创建oozie数据库
mysql -uroot -p

11. 解压
[root@centos7 oozie-4.3.1]# tar -zxvf oozie-sharelib-4.3.1.tar.gz

12.上传解压文件到hdfs
[root@centos7 oozie-4.3.1]# hdfs dfs -put ./share /user/root/oozie/

13. 把相关web运行需要的jar包打包 
wget  http://archive.cloudera.com/gplextras/misc/ext-2.2.zip

收集需要打包文件:
cd oozie-4.3.1
mkdir libext
cp ../hadoop-2.6.0-cdh5.16.0/share/hadoop/*/*.jar libext/
cp ../hadoop-2.6.0-cdh5.16.0/share/hadoop/*/lib/*.jar libext/
cp /home/linbin/下载/ext-2.2.zip libext/
cp /home/linbin/下载/mysql-connector-java-8.0.11.jar libext/

14,在mysql的oozie数据库创建相关表
ooziedb.sh create -sqlfile oozie.sql -run

15.把libext 加入oozie.war
bin/oozie-setup.sh prepare-war
注: 这个新生成的oozie.war 会自动同步到 $SQOOP_HOME/server/webapps 目录下
因此,如果oozie配置有问题,不但oozie不能启动,sqoop也不能启动,删除$SQOOP_HOME/server/webapps/oozie.war后 sqoop可以启动,oozie还是不能启动
如果oozie调试通过,则oozie和sqoop都能正常使用

但是,另外一台电脑同样运行setup,却提示oozie.war打包到 oozie-4.3.1/oozie-server/webapps/oozie.war,有时间再研究为什么。

16.启动,测试
bin/oozied.sh start
浏览器测试 http://centos7:11000/oozie

17. 运行测试例子

在oozie-4.3.1 目录下有examples例子,在apps目录下,有多个例子可以测试运行

hadoop fs -put ./examples  /user/root

修改要运行的例子的 job.properties

如apps/pig/job.properties


nameNode=hdfs://centos7:8020
jobTracker=localhost:8032
queueName=default
examplesRoot=examples

oozie.use.system.libpath=true

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/pig
运行:oozie job -oozie http://centos7:11000/oozie -config ./examples/apps/pig/job.properties -run

查看结果:oozie job -oozie http://centos7:11000/oozie -info 0000000-181220234426291-oozie-root-W

-info后面是运行作业的id号

Actions
------------------------------------------------------------------------------------------------------------------------------------
ID                                                                            Status    Ext ID                 Ext Status Err Code  
------------------------------------------------------------------------------------------------------------------------------------
0000000-181220234426291-oozie-root-W@:start:                                  OK        -                      OK         -         
------------------------------------------------------------------------------------------------------------------------------------
0000000-181220234426291-oozie-root-W@pig-node                             OK        job_1545297851825_0004 SUCCEEDED  -         
------------------------------------------------------------------------------------------------------------------------------------
0000000-181220234426291-oozie-root-W@end                                      OK        -                      OK         -         
------------------------------------------------------------------------------------------------------------------------------------
 

要注意hadoop2.0以后例子中的 Job.properties 里Jobstacker=localhost:8032 这是yarn的端口,不再采用hadoop1.X的8021端口。

运行测试例子参考:https://blog.youkuaiyun.com/u014729236/article/details/47188631/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值