• Oozie的安装和使用



    原创申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
    全文共计6744字,阅读大概需要3分钟
    欢迎关注我的个人公众号:不懂开发的程序猿

    一、 任务描述

    本实验练习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所示
    在这里插入图片描述

    图1 maven安装

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

    在这里插入图片描述

    图2 配置环境变量

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

    在这里插入图片描述

    图3 解压oozie安装包

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

    在这里插入图片描述

    图4 进入pom.xml文件

    修改配置如图5和6

    在这里插入图片描述

    图5 配置pom.xml

    在这里插入图片描述

    图6 配置pom.xml

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

    在这里插入图片描述

    图7 编译oozie

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

    在这里插入图片描述

    图8 编译成功界面

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

    在这里插入图片描述

    图9 创建data目录

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

    在这里插入图片描述

    图10 解压编译好的tar包

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

    在这里插入图片描述

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

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

    在这里插入图片描述

    图12 配置oozie的环境变量

    使环境变量生效,如图13

    在这里插入图片描述

    图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所示

    在这里插入图片描述

    图14 将ext-2.2.zip放到指定目录
      然后,执行命令:
      【cp /simple/hadoop/share/hadoop/*/*.jar libext/】,
      【cp /simple/hadoop/share/hadoop/*/lib/*.jar libext/
      将hadoop的相关jar包拷贝到libext目录下,第二条命令复制时会提示一些信息属于正常现象。如图15所示
    在这里插入图片描述

    图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

    在这里插入图片描述

    图16 删除冲突jar包

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

    在这里插入图片描述

    图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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    进入/simple/hadoop/etc/hadoop目录下,修改“core-site.xml“,配置代理。
      注意:因为要访问8020端口,所以修改配置“fs.default.name“如图18
    在这里插入图片描述

    图18 进入core-site.xml文件

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

    在这里插入图片描述

    图19 配置core-site.xml

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

    在这里插入图片描述

    图20 生成oozie的war包

    在这里插入图片描述

    图21 结果图

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

    在这里插入图片描述

    图22 初始化数据库

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

    在这里插入图片描述

    图23 生成数据表

    成功后界面如下图24

    在这里插入图片描述

    图24 成功界面

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

    在这里插入图片描述

    图25 查看生成的数据表

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

    在这里插入图片描述

    图26 为测试准备

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

    在这里插入图片描述

    图27 解压oozie-examples.tar.gz

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

    在这里插入图片描述

    图28 上传examples目录

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

    在这里插入图片描述

    图29 启动oozie
      在浏览器地址栏输入【http://localhost:11000】,在网页端查看 。如图30
    在这里插入图片描述

    图30 webui查看ooize状态
    六、 任务测试
      -oozie 后面跟的是oozie server的地址,-config后面跟的是执行的脚本,除了在hdfs上要有一份examples,在本地也需要一份。这个命令中的”examples/apps/map-reduce/job.properties” 是本地路径的job.properties,不是hdfs上的。如图31
    在这里插入图片描述

    图31 运行job

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

    在这里插入图片描述

    图32 webui查看ooize

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

    在这里插入图片描述

    图33 查看job运行状态

    在这里插入图片描述

  • 相关阅读:
    java文件IO操作
    HDFS Java API
    网络编程--高并发服务器(二)
    Django(6):详解Django路由设计
    Redis初识
    35-Docker-常用命令详解-docker ps
    Java ClassNotFoundException异常解决指南
    在Proxmox中固定网卡名字
    sklearn基础篇(六)-- 决策树(decision tree)
    docker下不同容器的网络互相访问问题
  • 原文地址:https://blog.csdn.net/qq_44807756/article/details/125545072