zoukankan      html  css  js  c++  java
  • 【Hadoop离线基础总结】oozie的安装部署与使用


    简单介绍

    • 概述

      oozie CDH版本 官方帮助文档:http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.14.0/

      Oozie是一个基于服务器的工作流引擎,专门运行带有运行Hadoop Map/Reduce和Pig作业的操作的工作流作业。
      Oozie是一个运行在Java servlet容器中的Java web应用程序。
      对于Oozie来说,工作流是一组操作(例如Hadoop Map/Reduce作业、Pig作业),它们被安排在一个控制依赖关系DAG(直接无环图)中。从一个操作到另一个操作的“控制依赖”意味着第二个操作在第一个操作完成之前不能运行。
      Oozie工作流定义是用hPDL(一种类似于JBOSS JBPM jPDL的XML流程定义语言)编写的。
      Oozie工作流动作在远程系统(如Hadoop、Pig)中启动作业。操作完成后,远程系统回调Oozie来通知操作完成,此时Oozie将继续执行工作流中的下一个操作。
      Oozie工作流包含控制流节点和操作节点。
      控制流节点定义工作流的开始和结束(开始、结束和失败节点),并提供一种机制来控制工作流执行路径(decision、fork和join节点)。
      动作节点是工作流触发计算/处理任务执行的机制。Oozie支持不同类型的操作:Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、电子邮件和Oozie子工作流。可以扩展Oozie以支持其他类型的操作。
      Oozie工作流可以参数化(在工作流定义中使用${inputDir}之类的变量)。在提交工作流时,必须提供参数的作业值。如果正确地参数化(即使用不同的输出目录),几个相同的工作流作业可以并发进行。

    • 架构

      WorkFlow: 工作流,定义我们的工作流的任务的执行,主要由一个个的action,在xml中进行配置即可
      Coordinator : 协作器,说白了就是oozie当中的定时任务调度的模块
      Bundle : 多个Coordinator 的抽象,可以通过bundle将多个Coordinator 进行组装集合起来,形成一个bundle
      在这里插入图片描述


    安装部署

    • 1.修改core-site.xml

      修改core-site.xml添加hadoop集群的代理用户
      cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
      vim core-site.xml
      添加一下配置(三台机器都要修改)

      <property>
      	<name>hadoop.proxyuser.root.hosts</name>
      	<value>*</value>
      </property>
      <property>
      	<name>hadoop.proxyuser.root.groups</name>
      	<value>*</value>
      </property>
      

      注意:hadoop的历史任务的服务必须启动,即19888端口可以查看,具体如何配置19888请查看hadoop课程的环境搭建
      重启hdfs与yarn集群

      cd /export/servers/hadoop-2.6.0-cdh5.14.0
      sbin/stop-dfs.sh
      sbin/start-dfs.sh
      sbin/stop-yarn.sh
      sbin/start-yarn.sh
      
    • 2.上传oozie的安装包并解压

      oozie安装包下载地址(要根据自己的CDH版本下载):http://archive.cloudera.com/cdh5/cdh/5/
      下载完成后上传到/export/softwares 进行解压
      tar -zxvf oozie-4.1.0-cdh5.14.0.tar.gz -C ../servers/

    • 3.解压hadooplibs到与oozie平行的目录
      cd /export/servers/oozie-4.1.0-cdh5.14.0
      tar -zxvf oozie-hadooplibs-4.1.0-cdh5.14.0.tar.gz -C ../
      

      在这里插入图片描述

    • 4.创建libext目录,并拷贝依赖包到libext目录
      cd /export/servers/oozie-4.1.0-cdh5.14.0
      mkdir -p libext
      cp -ra hadooplibs/hadooplib-2.6.0-cdh5.14.0.oozie-4.1.0-cdh5.14.0/* libext/
      
    • 5.拷贝mysql的驱动包到libext目录下
      cp /export/servers/hive-1.1.0-cdh5.14.0/lib/mysql-connector-java-5.1.38.jar /export/servers/oozie-4.1.0-cdh5.14.0/libext/
      
    • 6.上传ext-2.2.zip压缩包到libext目录下

      在这里插入图片描述

    • 7.修改oozie-site.xml
      cd /export/servers/oozie-4.1.0-cdh5.14.0/conf
      vim oozie-site.xml
      

      以下配置有则修改,无则添加

      <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://node03.hadoop.com:3306/oozie</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>
      
      <property>
      	<name>oozie.processing.timezone</name>
      	<value>GMT+0800</value>
      </property>
      
      <property>
      	<name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name>
      	<value>*</value>
      </property>
      
      <property>   
      	<name>oozie.service.ProxyUserService.proxyuser.hue.groups</name>
      	<value>*</value>
      </property>
      
      <property>
      	<name>oozie.service.coord.check.maximum.frequency</name>
      	<value>false</value>
      </property>     
      
      <property>
      	<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
      	<value>*=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop</value>
      </property>
      
    • 8.创建mysql数据库
      mysql -uroot -p
      create database oozie;
      
    • 9.上传oozie依赖的jar包到hdfs上面去

      bin/oozie-setup.sh sharelib create -fs hdfs://node01:8020 -locallib oozie-sharelib-4.1.0-cdh5.14.0-yarn.tar.gz

    • 10.创建oozie的数据库表
      cd /export/servers/oozie-4.1.0-cdh5.14.0
      bin/oozie-setup.sh  db create -run -sqlfile oozie.sql
      
    • 11.打包项目,生成war包

      在这之前先确保自己的linux安装了zip和unzip,没有的话在线安装一下
      yum -y install unzip
      yum -y install zip
      bin/oozie-setup.sh prepare-war

    • 12.配置oozie的环境变量

      vim /etc/profile

      export OOZIE_HOME=/export/servers/oozie-4.1.0-cdh5.14.0
      export OOZIE_URL=http://node03.hadoop.com:11000/oozie
      export PATH=:$OOZIE_HOME/bin:$PATH
      

      source /etc/profile

    • 13.oozie的启动和关闭命令

      bin/oozied.sh start
      bin/oozied.sh stop
      在这里插入图片描述
      有时如果是在进程直接kill了oozie,就必须删除上图红框框选的文件
      浏览器页面访问:http://node03:11000/oozie/

    • 修正oozie浏览器页面时区问题

      显示为GMT时区
      在这里插入图片描述

      cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie-server/webapps/oozie
      vim oozie-console.js
      

      修改为GMT+0800即可

      function getTimeZone() {
      	Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
      	return Ext.state.Manager.get("TimezoneId","GMT+0800");
      }
      

      重启oozie即可


    使用

  • 相关阅读:
    一般删除网页数据和jquery下使用Ajax删除数据的区别
    JavaScript 局部刷新
    ASP.net 网站开发知识点总结
    deque
    DHCP协议
    IP分类以及特殊IP
    重载运算符函数及其注意事项
    linux gdb基本概念
    std::vector 源代码
    iterator 的设计原则和traits
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772453.html
Copyright © 2011-2022 走看看