Oozie的安装和使用

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 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



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
分布式计算 Java 关系型数据库
73 sqoop安装
73 sqoop安装
66 2
|
SQL HIVE
71 Azkaban HIVE脚本任务
71 Azkaban HIVE脚本任务
85 0
|
10月前
|
SQL XML 分布式计算
Oozie功能
Oozie是一个基于Hadoop的调度器,它可以用来管理和协调Hadoop作业、Pig作业、Hive作业、Shell脚本等。【2月更文挑战第21天】
76 2
|
10月前
|
SQL 分布式计算 关系型数据库
sqoop快速安装
sqoop快速安装
87 0
|
监控 大数据 物联网
在CDH7.1.1中安装NiFi
在CDH7.1.1中安装NiFi
177 0
|
SQL 分布式计算 关系型数据库
sqoop的安装和使用
sqoop的安装和使用
|
SQL 分布式计算 安全
【Oozie】(二)Oozie 架构及运行模型介绍
【Oozie】(二)Oozie 架构及运行模型介绍
561 0
【Oozie】(二)Oozie 架构及运行模型介绍
|
SQL 分布式计算 Java
【Azkaban】(一)Azkaban 入门
【Azkaban】(一)Azkaban 入门
238 0
【Azkaban】(一)Azkaban 入门
|
SQL 关系型数据库 MySQL
Ambari部署Hive
Ambari部署Hive
200 0
Ambari部署Hive
|
分布式计算 Hadoop 关系型数据库
Sqoop 安装
简介 Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 环境说明 Centos 7服务器 服务当前用户 hadoop(此用户有管理员权限) Sqoop当前版本1.99.7 风
2070 0