Oozie的安装和使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: Oozie的安装和使用

一、 任务描述

本实验练习Oozie的安装和配置,然后运行例子进行oozie的功能测试。

二、 任务目标

学会Oozie的安装和使用

三、 任务环境

Ubuntu16.04、mysql-5.7.22、oozie-4.3.0、hadoop-2.7.3、jdk1.8.0_73

四、 任务分析

解压编译好的oozie安装包,然后进行配置,配置主要有hadoop文件的配置和oozie文件的配置。

♥ 知识链接

oozie简介

  Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容:1.工作流定义,2.当前运行的工作流实例,包括实例的状态和变量

五、 任务实施

步骤1、maven安装

说明:由于编译ooize需要耗费大量的网络资源和时间,因此在实际操作时,图一到图八的操作只做参考,直接从图九开始实验。

 进入cd /simple/soft目录下,解压maven的tar包到simple目录下,如图1所示

d8ddcfad962a4169b33da4ff41bb7eef.png

图1 maven安装

然后在当前目录下执行命令【vim ~/.bashrc】,进入文件,配置maven的环境变量。如图2所示

d054f7bdfa1a4d29883b33c4583b8f2f.png

图2 配置环境变量


在soft目录下解压oozie的压缩包到simple目录下,如图3所示

829e8afc748f4b2e9b62a703896814ea.png

图3 解压oozie安装包


编辑pom.xml文件,如图4所示

eaf6d79effcc4fda940b1b8ca4e600c7.png


图4 进入pom.xml文件


修改配置如图5和6

25d6b0aca5a348b58322c3cbf10676ed.png


图5 配置pom.xml

49b18921f4a7426d98ab8b2fc87d9743.png


图6 配置pom.xml


修改完后开始编译,如图7

9519a210937f4049a0eb9189487eea10.png

图7 编译oozie


编译成功后的界面如8所示


738e573f0bf447d89bfefc79118ab2a5.png


图8 编译成功界面


在simple目录下创建data目录,用于存放解压好的oozie,如图9所示

334de662805d401b889475ef70f57856.png

图9 创建data目录


本实验环境将编译好的压缩包放在了/simple/soft/oozie-complie目录下。在该目录下将编译好的压缩包解压到simple/data目录下。如图10


3c47d2c43cfe477ab5b66348276788fa.png


图10 解压编译好的tar包


进入/simple/data目录下查看解压好的文件并将文件名修改。如图11

e462a523208242569bb56c8de8535f9b.png



图11 查看已解压的文件并修改命名


配置oozie的环境变量,如图12所示


96bf88ef1ab247c89e2f489a463dd449.png


图12 配置oozie的环境变量


使环境变量生效,如图13

6ffca2ba933b4a7cb99244a3ea4def3b.png

图13 使环境变量生效


oozie server需要用到一个js库,需要下载ext-2.2.zip这个文件放的libext文件夹里。否则就看不了oozie的web控制台。(打war包的时候会报:INFO: Oozie webconsole disabled, ExtJS library not specified)

 执行如下命令【cd oozie】进入oozie目录,然后执行命令【mkdir libext】创建libext目录,然后将下载好的ext-2.2.zip放到libext目录下面:【cp /simple/soft/ext-2.2.zip ./libext】。如图14所示


0af9787f74f14042945fd97b5277cd02.png


图14 将ext-2.2.zip放到指定目录

 然后,执行命令:

 【cp /simple/hadoop/share/hadoop/*/*.jar libext/】,

 【cp /simple/hadoop/share/hadoop/*/lib/*.jar libext/】

 将hadoop的相关jar包拷贝到libext目录下,第二条命令复制时会提示一些信息属于正常现象。如图15所示

26b14648596749a2b47fd02bd5794491.png


图15 拷贝hadoop相关jar包到libext


注意:这里有个大坑,oozie server默认使用tomcat 6.0.41,而hadoop也有内置的server,如果按照上面两个命令把hadoop依赖的jar包都拷贝过去,有可能出现冲突,这两个server使用的servlet、jsp版本很可能不一样。所以需要删除两个jar包。

 oozie server还需要依赖个数据库,常用的是mysql,所以需要把mysql的驱动jar包“mysql-connector-java-5.1.45.jar“也放在libext中。如图16


ede99a1896e9461ebb60b4b5decd09ca.png


图16 删除冲突jar包


配置数据库连接,文件是conf/oozie-site.xml。如图17所示,代码如下


08ca2e4c146f409eb2e034f77ac404cd.png


图17 配置数据库连接

1.      <property>
2.      <name>oozie.service.JPAService.create.db.schema</name>
3.      <value>false</value>
4.      </property>
5.      <property>
6.      <name>oozie.service.JPAService.jdbc.driver</name>
7.      <value>com.mysql.jdbc.Driver</value>
8.      </property>
9.      <property>
10.     <name>oozie.service.JPAService.jdbc.url</name>
11.     <value>jdbc:mysql://localhost:3306/oozie?createDatabaseIfNotExist=true</value>
12.     </property>
13.     <property>
14.     <name>oozie.service.JPAService.jdbc.username</name>
15.     <value>root</value>
16.     </property>
17.     <property>
18.     <name>oozie.service.JPAService.jdbc.password</name>
19.     <value>root</value>
20.     </property>
21.     <property>
22.     <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
23.     <value>*=/simple/hadoop/etc/hadoop</value>
24.     </property>

08ca2e4c146f409eb2e034f77ac404cd.png进入/simple/hadoop/etc/hadoop目录下,修改“core-site.xml“,配置代理。

 注意:因为要访问8020端口,所以修改配置“fs.default.name“如图18



图18 进入core-site.xml文件

99d047410bea4160a2b543edbbbc92f7.png

配置过程如图19,修改该配置是为oozie添加伪装功能(impersonation),关于伪装功能,这里不在细说。

5613148399514d1ab2895ce432e8329a.png



图19 配置core-site.xml


上面的步骤完成后,就可以生产server的war包了,供tomcat访问。执行命令【cd /simple/data/oozie】进入该目录下, 执行命令【bin/oozie-setup.sh prepare-war】。如图20所示,最终结果为图21


599beef93a4642a1bea5f113fea09880.png


图20 生成oozie的war包


c3f9116004e849b3860cf4a9e0083dc9.png


图21 结果图


输入命令【service mysql start】启动mysql,然后执行以下命令来初始化数据库【bin/ooziedb.sh create -sqlfile oozie.sql】,如图22



84578534aa004c1ca05f72e7e729a8f3.png

图22 初始化数据库


接着执行如下命令,执行oozie数据库脚本文件,这将在oozie数据库中生成与oozie相关的数据表,如图23


b4140ef2ddb54e9682c1c540e21c7681.png


图23 生成数据表


成功后界面如下图24



1cdc65f34c4b45ee89abb90db37f036e.png

图24 成功界面


在当前目录虾执行命令【mysql -uroot -proot】登陆mysql,选择oozie数据库,然后查看生成的数据表。如图25


f692abeda96b4231af2509d557d64cc8.png


图25 查看生成的数据表


输入命令【start-all.sh】启动hadoop服务,在启动oozie之前,还需要执行下面的命令,为下面的测试准备,这个过程需要几分钟的时间,请耐心等待。如图26


d8d827e7385b4a8c94550ef1017ead0f.png


图26 为测试准备


在oozie-4.3.0下有一个oozie-examples.tar.gz包 。将它进行解压,解压之后生成一个examples目录。在该目录的apps中有一些简单的例子。如图27


570e95629b4644898d59e8e5c5d042e9.png


图27 解压oozie-examples.tar.gz


解压完后,将解压好的examples目录上传。如图28


88940207478241ddb335633dc7b89eb1.png


图28 上传examples目录


输入命令【bin/oozied.sh start】启动oozie。如图29


d573b9162b8843599582bf74e8a99f37.png


图29 启动oozie

 在浏览器地址栏输入【http://localhost:11000】,在网页端查看 。如图30

f727a8a808ea4db18f0863e031f6e1e5.png


图30 webui查看ooize状态

六、 任务测试

 -oozie 后面跟的是oozie server的地址,-config后面跟的是执行的脚本,除了在hdfs上要有一份examples,在本地也需要一份。这个命令中的”examples/apps/map-reduce/job.properties” 是本地路径的job.properties,不是hdfs上的。如图31

1cddda796e7c4e09a268bbe1d7ecee49.png


图31 运行job


在浏览器地址栏输入【http://localhost:11000】,在网页端查看查看,会发现有一行字,这是运行的job。 如图32


cb81e67810d5484f8f921045631c9dd7.png


图32 webui查看ooize


点击该job,弹出如下,页面中的Status显示为RUNNING表示job正在运行。如图33


96b7fc9c20154aae989a3a2787e1e709.png


图33 查看job运行状态

e838ce7e485048aabb811a8c1b3292ad.png



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 分布式计算 安全
Hbase集群搭建超详细教程
分享一下HBase 集群搭建的详细过程
1648 0
|
安全 Linux iOS开发
Anaconda下载及安装保姆级教程(详细图文)
Anaconda下载及安装保姆级教程(详细图文)
34213 1
Anaconda下载及安装保姆级教程(详细图文)
|
缓存 Linux
CentOS7配置阿里yum源 超详细!!!
CentOS7配置阿里yum源 超详细!!!
33174 2
|
Java Maven
最快的 maven repository--阿里镜像仓库
国内速度超快的maven repository
161211 0
|
XML 分布式计算 监控
详细指南:在Hadoop中配置Oozie作业
【8月更文挑战第31天】
240 0
|
SQL 分布式计算 Hadoop
手把手的教你搭建hadoop、hive
手把手的教你搭建hadoop、hive
902 1
|
10月前
|
SQL 分布式计算 Java
Spark SQL向量化执行引擎框架Gluten-Velox在AArch64使能和优化
本文摘自 Arm China的工程师顾煜祺关于“在 Arm 平台上使用 Native 算子库加速 Spark”的分享,主要内容包括以下四个部分: 1.技术背景 2.算子库构成 3.算子操作优化 4.未来工作
1222 0
|
SQL 分布式计算 Hadoop
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
454 2
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决