美文网首页
Oozie简介,功能模块介绍,部署

Oozie简介,功能模块介绍,部署

作者: 大数据小同学 | 来源:发表于2020-07-10 08:18 被阅读0次

    Oozie简介

    Oozie英文翻译为:驯象人。一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对Hadoop MapReduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。

    Oozie的功能模块介绍

    模块

    1. Workflow
      顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)
    2. Coordinator
      定时触发workflow
    3. Bundle
      绑定多个Coordinator

    Workflow常用节点

    1. 控制流节点(Control Flow Nodes)
      控制流节点一般都是定义在工作流开始或者结束的位置,比如start,end,kill等。以及提供工作流的执行路径机制,如decision,fork,join等。
    2. 动作节点(Action Nodes)
      负责执行具体动作的节点,比如:拷贝文件,执行某个Shell脚本等等。

    Oozie的部署(CDH版本)

    修改Hadoop配置

    core-site.xml

    <!-- Oozie Server的Hostname -->
    <property>
        <name>hadoop.proxyuser.liujh.hosts</name>
        <value>*</value>
    </property>
    
    <!-- 允许被Oozie代理的用户组 -->
    <property>
        <name>hadoop.proxyuser.liujh.groups</name>
        <value>*</value>
    </property>
    

    mapred-site.xml

    <!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop102:10020</value>
    </property>
    
    <!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop102:19888</value>
    </property>
    

    yarn-site.xml

    <!-- 任务历史服务 -->
    <property> 
        <name>yarn.log.server.url</name> 
        <value>http://hadoop102:19888/jobhistory/logs/</value> 
    </property>
    

    完成后:记得scp同步到其他机器节点

    启动Hadoop集群

    [liujh@hadoop102 hadoop-2.5.0-cdh5.3.6]$ sbin/start-dfs.sh
    [liujh@hadoop103 hadoop-2.5.0-cdh5.3.6]$ sbin/start-yarn.sh
    [liujh@hadoop102 hadoop-2.5.0-cdh5.3.6]$ sbin/mr-jobhistory-daemon.sh start historyserver
    

    注意:需要开启JobHistoryServer, 最好执行一个MR任务进行测试。

    部署Oozie

    解压Oozie

    [liujh@hadoop102 software]$ tar -zxvf /opt/software/cdh/oozie-4.0.0-cdh5.3.6.tar.gz -C /opt/module
    

    在oozie根目录下解压oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz

    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ tar -zxvf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz -C ../
    

    完成后Oozie目录下会出现hadooplibs目录

    在Oozie目录下创建libext目录

    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ mkdir libext/
    

    拷贝依赖的Jar包

    1. 将hadooplibs里面的jar包,拷贝到libext目录下:
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -ra hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/
    
    1. 拷贝Mysql驱动包到libext目录下:
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar ./libext/
    

    将ext-2.2.zip拷贝到libext/目录下

    ext是一个js框架,用于展示oozie前端页面:

    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt/software/cdh/ext-2.2.zip libext/
    

    修改Oozie配置文件

    oozie-site.xml

    属性:oozie.service.JPAService.jdbc.driver
    属性值:com.mysql.jdbc.Driver
    解释:JDBC的驱动
    
    属性:oozie.service.JPAService.jdbc.url
    属性值:jdbc:mysql://hadoop102:3306/oozie
    解释:oozie所需的数据库地址
    
    属性:oozie.service.JPAService.jdbc.username
    属性值:root
    解释:数据库用户名
    
    属性:oozie.service.JPAService.jdbc.password
    属性值:000000
    解释:数据库密码
    
    属性:oozie.service.HadoopAccessorService.hadoop.configurations
    属性值:*=/opt/module/CDH/hadoop-2.5.0-cdh5.3.6/etc/hadoop
    解释:让Oozie引用Hadoop的配置文件
    

    在Mysql中创建Oozie的数据库

    进入Mysql并创建oozie数据库:

    $ mysql -uroot -p000000
    mysql> create database oozie;
    

    初始化Oozie

    1. 上传Oozie目录下的yarn.tar.gz文件到HDFS:
      提示:yarn.tar.gz文件会自行解压
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie-setup.sh sharelib create -fs hdfs://hadoop102:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz
    

    执行成功之后,去50070检查对应目录有没有文件生成。

    1. 创建oozie.sql文件
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/ooziedb.sh create -sqlfile oozie.sql -run
    
    1. 打包项目,生成war包
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie-setup.sh prepare-war
    

    Oozie的启动与关闭

    启动命令如下:
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh start
    关闭命令如下:
    [liujh@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh stop
    

    访问Oozie的Web页面

    http://hadoop102:11000/oozie

    关注微信公众号
    简书:https://www.jianshu.com/u/0278602aea1d
    CSDN:https://blog.csdn.net/u012387141

    相关文章

      网友评论

          本文标题:Oozie简介,功能模块介绍,部署

          本文链接:https://www.haomeiwen.com/subject/ftvoyhtx.html