大数据协作框架之Oozie篇

本文介绍Oozie工作流引擎的基础概念及在Hadoop环境下的安装配置过程。Oozie是一款由Cloudera贡献给Apache的开源框架,用于Hadoop MapReduce和Pig Jobs的任务调度与协调。文章详细说明了从安装Hadoop和Java开始,直至完成Oozie配置并与MySQL集成的步骤。
Oozie基础介绍:    
      一个基于工作流引擎的开源框架,是由
Cloudera公司贡献给Apache的,它能够提供对HadoopMapReducePig Jobs任务调度与协调Oozie需要部署到Java Servlet容器中运行。
      Oozie工作流定义,同JBossjBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。
      Oozie定义了控制流节点(ControlFlow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decisionforkjoin等;而动作节点包括Hadoop map-reduceHadoop文件系统、PigSSHHTTPeMailOozie子流程。
      **[控制流节点]
               ** start
                    ** ok    --> end
                    ** error --> kill
               ** kill
               ** end
        **[动作节点]
               ** 定义具体需要执行的job任务
               ** MapReduce、shell、hive

oozie安装
    1、安装启动Hadoop和JAVA
    $ jps
        4097 Jps
        3007 NameNode
        3490 ResourceManager
        3592 NodeManager
        3642 JobHistoryServer
        3106 DataNode
        3334 SecondaryNameNode
    2、上传解压
    $ tar zxf oozie-4.0.0-cdh5.3.6.tar.gz -C /opt/modules/
    3、配置hadoop文件core-site.xml
    /opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop/core-site.xml文件:
    下面用户名: 【rose】是我当前系统登录的用户
                 大家要以自己的实际用户去配置
    <!-- OOZIE -->
    <property>
        <name>hadoop.proxyuser.rose.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.rose.groups</name>
        <value>*</value>
    </property>

    重启Hadoop
    $ sbin/stop-all.sh  ;sbin/start-all.sh

    
    4、解压目录
    [rose@hadoop-senior01 oozie-4.0.0-cdh5.3.6]$ pwd
    /opt/modules/oozie-4.0.0-cdh5.3.6
    $ tar zxf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz  -C /opt/modules/
    
    5、创建目录libext
    [rose@hadoop-senior01 oozie-4.0.0-cdh5.3.6]$ pwd
    /opt/modules/oozie-4.0.0-cdh5.3.6
    $ mkdir libext
    $ cp -r hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/
    $ cp /opt/softwares/ext-2.2.zip libext/
    
    6、安装配置mysql
    $ su - root
    # service mysqld status
    mysqld (pid  2294) 正在运行...
    # exit
    
    7、修改oozie配置文件 oozie-site.xml
    <property>
        <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
        <value>*=/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop</value>
    </property>
    
    <property>
        <name>oozie.service.JPAService.jdbc.driver</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.url</name>
        <value>jdbc:mysql://127.0.0.1:3306/oozie?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.username</name>
        <value>root</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.password</name>
        <value>123456</value>
    </property>
    
    拷贝jar文件到libext目录
    $ cp /opt/modules/hive-0.13.1-cdh5.3.6/lib/mysql-connector-java-5.1.27-bin.jar  libext/
    
    8、依次执行以下命令
    # 上传sharelib文件到Hadoop
    bin/oozie-setup.sh sharelib create \
    -fs hdfs://hadoop-senior.beifeng.com:8020 \
    -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

    # 打包war
    bin/oozie-setup.sh prepare-war    

    # 在mysql中创建数据库和表, 并生成sql文件    
    bin/oozie-setup.sh db create -run oozie.sql
        
    9、启动oozie
    $ bin/oozied.sh start
    
    $ netstat -an|grep 11000
    
    浏览:http://192.168.17.129:11000/oozie/
    注意:标签出不来,尝试更好一个浏览器,或者把浏览器安全级别调低
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值