Oozie协作框架

Oozie协作框架

一:概述

1.大数据协作框架

  

2.Hadoop的任务调度

  

3.Oozie的三大功能

  Oozie Workflow jobs 

  Oozie Coordinator jobs

  Oozie Bundle

 

4.Oozie的架构

  控制流节点

    起始,分支,并发,汇合,结束

  动作节点action

 

5.Oozie的实现

  

 

二:安装部署

1.上传

  

 

2.解压

  

 

3.配置Hadoop代理core-site.xml

  

 

4.启动Hadoop集群

 

5.解压hadooplib

  将会生成:oozie-4.0.0-cdh5.3.6

   

 

6.生成

  

 

7.创建libext文件

  

 

8.拷贝hadooplib的jar包到libext中

  

 

9.拷贝js包到libext中

  

 

10.创建sharelib库:HDFS,用于运行所有job的依赖

  bin/oozie-setup.sh sharelib create -fs hdfs://hadoop-senior02.ibeifeng.com:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

  

   HDFS::

  

 

11.打包

  bin/oozie-setup.sh prepare-war

  

 

12.初始化数据库

  

  

 

 13.启动

  

 

14.web端窗口

  

 

三:运行官网的任务流

1.解压家目录下的oozie-examples.tar.gz

  将会生成examples

 

2.进入examples,找到将要运行的mapreduce项目

  job.properties:mapreduce运行需要的配置项,指定workflow的地址,申明相关变量

  workflow.xml:实际运行的workflow

  

3.修改job.properties配置项

  

 

4.修改oozie.site文件

  

 

5.启动hadoop,并上传在家目录下examples项目

  bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/examples examples

  

 

 6.启动

  bin/oozie  job -oozie http://linux-hadoop3.ibeifeng.com:11000/oozie -config examples/apps/map-reduce/job.properties -run 

  

 

7.总结

  -》bin/oozie job -oozie http://hadoop-senior02.ibeifeng.com:11000/oozie -config examples/apps/map-reduce/job.properties -run

  提交任务

  -》oozie读取job.properties
  -》查找需要运行的wf的地址,将相应变量传递给wf
  -》读取wf的文件
    -》start节点
    -》action节点
    -》OK-》end
    -》error-》kill
  -》读取依赖的jar包
     lib目录
  -》sharelib的jar包支持

 

四:自定义wordcount任务流

1.新建目录

  新建application,在下面建项目wc-wf

  

 

2.检测wordcount的jar包是否可以使用

 

3.HDFS上新建input目录,上传wc.inpu

  

4.上传wc2.jar

  目录/etc/opt/datas

 

5.在yarn上运行

  

 

6.证明jar包没有问题

  

 

7.修改job.properties

  

 

8.修改workflow.xml

  

  

 

  

 

9.上传wc2.jar到wc-wf中的lib中

  

 

10.上传到HDFS上运行

   bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/wc-wf/ /

 

11.运行

  export OOZIE_URL="http://linux-hadoop3.ibeifeng.com:11000/oozie"

  bin/oozie  job  -config applications/wc-wf/job.properties -run

  

 

12.结果

  

 

五:自定义shell action的workflow

1.拷贝官方的shell,并命名为shell-wf

  

 

 2.修改job.properties

  

 

3.在shell-wf中新建oozie.sh

  

 

4.修改workflow.xml

  

 

5.完成oozie.sh 

  

 

6.上传到HDFS

  bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/shell-wf/ /applications

 

7.运行

  bin/oozie job -config applications/shell-wf/job.properties -run

 

8.结果

  

 

六:DAG图的设计

1.拷贝wc-wf,并该名为dag-wf

  

 

2.将shell-wf中 的.sh拷贝到dag-wf中

  

 

3.修改job.properties

  

 

4.修改oozie.sh

  

 

5.修改workflow.xml

  

 

6.上传

  bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/dag-wf/ /applications   

 

7.运行

  bin/oozie job -config applications/dag-wf/job.properties -run

 

8.结果

  

 

9.HDFS上

  

 

七:修改linux时区

1.查看

  

 

2.如果不是+0800,则需要重新生成

  在linux中删除:

    rm -rf /etc/localtime

  重新生成:

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

3.修改时间

  

 

4.在oozie.site中修改时区

  

 

5.在js中修改时区

  

 

6.重新启动oozie

 

八:编写coordinate

1.复制

  

 

2.修改job.properties

  

 

3.修改coordinator.xml

  

 

4.修改oozie.xml

  

 

5.重启oozie

 

6.上传到HDFS

   bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/cron-wf/ /applications

 

7.运行

  bin/oozie job -config applications/cron-wf/job.properties -run 

 

8.结果

  

  

 

九:支持crontab的任务调度

1.拷贝

  

 

2.修改job.properties

  

 

3.修改coordinate

  

 

4.上传

  bin/hdfs dfs -put /etc/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/applications/crontab/ /applications   

 

5.运行

  bin/oozie  job  -config applications/crontab/job.properties -run

 

6.运行结果

  

 

  

转载于:https://www.cnblogs.com/RHadoop-Hive/p/7414008.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11.4 专利法与反不正当竞争法解读

第六条是对于职务作品的一个定性.它这个职务作品、职务发明创造和我们前面著作法所讲到的职务作品的处理方式基本一致.就是如果认定某一个作品它是属于职务作品、职务发明创造,那么这一个作品它的专利权应该是属于单位而不是个人.只有认定这个创造为非职务发明创造的时候,申请的…

一文入门网络编程:常见协议、通信过程、Socket、CS/BS、TCP/UDP

网络编程三要素:ip地址、端口、协议,在网络通信协议下,不同计算机上运行的程序,可以进行数据传输 常见协议: 传输层 常见协议有TCP/UDP协议。应用层 常见的协议有HTTP协议,FTP协议。网络层 常见协议有IP协议…

【Linux笔记(000) 】-- 系统启动过程

索引: 目录索引 一. 启动流程 BIOS --> MBR(Boot Code) --> 引导程序(GRUB) --> 加载内核 --> 执行Init --> runlevel 二. 内容详解 BIOS: Basic Input Output System , 基本输入输出系统 ,负责检查硬件,查找启动设备, 可启动设备在BIOS中定义。…

Mac安装Netcat教程

Netcat可以用于测试通信连接 Mac安装Netcat方式: 打开终端输入: brew install netcat安装好以后测试,输入: nc可以看到是这样的: itzhuzhuitzhuzhudeMacBook-Pro ~ % brew install netcat > Downloading https:…

Golang——TCP、UDP实现并发(服务端与客户端)

Server端常用函数、接口: Listen函数:func Listen(network, address string) (Listener, error)network:选用的协议:TCP、UDP, 如:“tcp”或 “udp”address:IP地址端口号, 如:…

java中 将字符串时间 '2015-9-8 17:05:06' 转化为格式 '2015-09-08 17:05:06'

/** * 将字符串时间2015-9-8 17:05:06转化为格式2015-09-08 17:05:06 */import java.text.SimpleDateFormat; public class TestDate{ public static void main(String[] args) throws Exception{ String time "2015-9-8 17:05:06";//注意:时分秒必须都…

详解TCP协议三次握手四次挥手

三次握手: 三次握手表示建立通信阶段,在TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠,由于这种面向连接的特性, TCP协议可以保证传输数据的安全,…

Visual Paradigm中文乱码

http://blog.csdn.net/microrain/article/details/1201661?_t_t_t0.8160515017611372 转载于:https://www.cnblogs.com/mkxzy/p/7420463.html

Golang——实现文件传输

借助TCP完成文件的传输,基本思路如下: 发送方(客户端)向服务端发送文件名,服务端保存该文件名。接收方(服务端)向客户端返回一个消息ok,确认文件名保存成功。发送方(客户…

Golang——HTTP编程请求和响应实现

请求: HTTP 请求报文由请求行、请求头部、空行、请求包体4个部分组成,如下图所示: 请求行: 请求行由方法字段、URL 字段 和HTTP 协议版本字段 3个部分组成,他们之间使用空格隔开。常用的 HTTP 请求方法有 GET、POST。…

zabbix v3.0安装部署【转】

关于zabbix及相关服务软件版本: Linux:oracle linux 6.5 nginx:1.9.15 MySQL:5.5.49 PHP:5.5.35 一、安装nginx: 安装依赖包: yum -y install gcc gcc-c autoconf automake zlib zlib-devel ope…

WeChatTweak-微信小助手安装教程

github下载:https://github.com/Sunnyyoung/WeChatTweak-macOS CSDN下载:https://download.csdn.net/download/weixin_45477086/83895866 双击解压下载的WeChatTweak-macOS-***.zip在终端输入cd ,并敲一个空格,然后把解压的文件夹拖到终端 …

nodejs开发工具

我选择的是Hbuilder作为node项目的开发工具。先在Hbuilder 里面安装nodeEclipse插件,然后重启工具。点击添加项目,选择其他选项,出现下图选项,然后选择圈住的选项点击下一步:3. 如果不使用缺省位置,那么你的路径一定要…

Go_包、工程管理

包: 包其实就是文件夹,go的源文件就是文件,把所有的文件分类放到不同的包利于管理。 作用: 如果把所有的代码都放在一个文件中,后续的可维护性、阅读性都比较差。所以可以使用包的来区分不同的模块/功能分别放在不同…

排序之外部排序

有时,待排序的文件很大,计算机内存不能容纳整个文件,这时候对文件就不能使用内部排序了(这里做一下说明,其实所有的排序都是在内存中做的,这里说的内部排序是指待排序的内容在内存中就可以完成,…

Go_时间日期函数

时间: func main() {// 获取当前时间now : time.Now()fmt.Println("当前时间:", now)// 获取年月日时分秒fmt.Println("年:", now.Year())fmt.Println("月:", int(now.Month())) // 不转int是英文…

Golang——Json的序列化和反序列化

JSON: JSON(JavaScript Object Notation):是一种轻量级的数据交换格式。 它是基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写…

安装配置 flannel - 每天5分钟玩转 Docker 容器技术(59)

上一节我们部署了 etcd,本节安装和配置 flannel。 build flannel flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 build。不过用于做 build 的 docker 镜像托管在 gcr.io,国内可能无法直接访问&a…

Golang——单元测试testing

Go语言中带有一个轻量级的测试框架testing和go test命令来实现单元测试及性能测试。单元测试可以解决 确保每个函数都是可运行且结果正确确保代码性能完好单元测试可以及时发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而…

排序算法之希尔排序

基本思想 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时&#x…