Oozie基础知识:调度器简介及Oozie功能架构
来源:互联网 发布:js 回调函数 全局变量 编辑:程序博客网 时间:2024/05/21 09:46
1.Oozie调度框架
* 工作流:将不同的业务进行编排
如:import->hive->export
* 调度:对作业或任务和定时执行,或事件的触发执行
如:时间触发、数据集的触发。
2.已有调度框架
(1)hadoop常用的调度框架:
* linux crontab 调度
* Azkaban :有界面,比较简单,功能有限
* Oozie:apache顶级项目。有界面,不好管理,适合做数据仓库,etl的公司使用
主要问题是jar包的冲突方面,不好用
* Zeus:阿里开源,增加了监控界面,主要用其调度中心
(2)linux crontab 调度简介
* 规则:* * * * * cmd
前面5个* 表示分,时,天,月,星期
最后一个是执行的命令。
例:每分钟触发,将日期追加到bf-date.log日志中
*/1 * * * * /bin/date>>/opt/datas/bf-date.log
* 命令
crontab -e 添加调度
crontab -l 查看有多少个调度
crontab -r 删除一个高度
* 缺点:不好管理,不能回滚
(3)针对hadoop任务的作业调度
对于mr:/opt/cdh5.3.6/hadoop.xx/bin/yarn jar /XXX/*.jar input output
对于hive:/opt/cdh5.3.6/hive.xx/bin/hive -f hive-select-bflog.sql
对于sqoop:/opt/cdh5.3.6/sqoop.xx/bin/sqoop --options-file sqoop-imp.txt
对于shell script:/bin/sh xxx.sh
3.Oozie功能架构
(1)简介
* 是一个工作流调度系统
* 工作流的调度是DAG(有向无环图)-Directed Acyclical Graphs
* Coordinator job可以通过时间和数据集的可用性触发
* 集成了Hadoop生态系统的其它任务,如mr,pig,hive,sqoop,distcp
* 可扩展:一个Oozie就是一个mr程序,但是仅仅是map,没有reduce
可靠性:任务失败后的重试
(2)具体内容
* 基于工作流的引擎,需要部署到java servlet容器中运行
* 工作流定义:通过xml文件实现流程的定义。有分支、并发、汇合等不两只功能的节点
* 定义了控制流节点(定义了流程的开始和结束,执行路径,如decision,fork,join)
和动作节点(mr,pib,hadoop文件系统,ssh,http,email,子流程等)
例:workflow 模板结构
<workflow....>
<start to='workcount'/>
<action name='workcount'>mr的相关配置
<map-reduce>
mr的相关配置
</map-reduce>
<ok to='end'/>
<error to='end'/>
</action>
<kill name='kill'>
<message>错误信息</message>
</kill>
<workflow....>
(3)三大服务器模块
* Oozie V3 :a server based Bundle engine:对多个coordinator进行封装
可以启动,停止,挂起,关闭,重启一组coordinator的任务
* Oozie V2 :a server based Coordinator engine:可以运行多个workflow
结构:start->workfows->end
* Oozie V1 :a server based workflow engine
结构:start->mr->pig->fork->mr/hive->join->end
(3)主要组件
tomcat(servlet进行调用并页面显示任务),数据库(存储任务),Bundle,coordinator,workflow
* 工作流:将不同的业务进行编排
如:import->hive->export
* 调度:对作业或任务和定时执行,或事件的触发执行
如:时间触发、数据集的触发。
2.已有调度框架
(1)hadoop常用的调度框架:
* linux crontab 调度
* Azkaban :有界面,比较简单,功能有限
* Oozie:apache顶级项目。有界面,不好管理,适合做数据仓库,etl的公司使用
主要问题是jar包的冲突方面,不好用
* Zeus:阿里开源,增加了监控界面,主要用其调度中心
(2)linux crontab 调度简介
* 规则:* * * * * cmd
前面5个* 表示分,时,天,月,星期
最后一个是执行的命令。
例:每分钟触发,将日期追加到bf-date.log日志中
*/1 * * * * /bin/date>>/opt/datas/bf-date.log
* 命令
crontab -e 添加调度
crontab -l 查看有多少个调度
crontab -r 删除一个高度
* 缺点:不好管理,不能回滚
(3)针对hadoop任务的作业调度
对于mr:/opt/cdh5.3.6/hadoop.xx/bin/yarn jar /XXX/*.jar input output
对于hive:/opt/cdh5.3.6/hive.xx/bin/hive -f hive-select-bflog.sql
对于sqoop:/opt/cdh5.3.6/sqoop.xx/bin/sqoop --options-file sqoop-imp.txt
对于shell script:/bin/sh xxx.sh
3.Oozie功能架构
(1)简介
* 是一个工作流调度系统
* 工作流的调度是DAG(有向无环图)-Directed Acyclical Graphs
* Coordinator job可以通过时间和数据集的可用性触发
* 集成了Hadoop生态系统的其它任务,如mr,pig,hive,sqoop,distcp
* 可扩展:一个Oozie就是一个mr程序,但是仅仅是map,没有reduce
可靠性:任务失败后的重试
(2)具体内容
* 基于工作流的引擎,需要部署到java servlet容器中运行
* 工作流定义:通过xml文件实现流程的定义。有分支、并发、汇合等不两只功能的节点
* 定义了控制流节点(定义了流程的开始和结束,执行路径,如decision,fork,join)
和动作节点(mr,pib,hadoop文件系统,ssh,http,email,子流程等)
例:workflow 模板结构
<workflow....>
<start to='workcount'/>
<action name='workcount'>mr的相关配置
<map-reduce>
mr的相关配置
</map-reduce>
<ok to='end'/>
<error to='end'/>
</action>
<kill name='kill'>
<message>错误信息</message>
</kill>
<workflow....>
(3)三大服务器模块
* Oozie V3 :a server based Bundle engine:对多个coordinator进行封装
可以启动,停止,挂起,关闭,重启一组coordinator的任务
* Oozie V2 :a server based Coordinator engine:可以运行多个workflow
结构:start->workfows->end
* Oozie V1 :a server based workflow engine
结构:start->mr->pig->fork->mr/hive->join->end
(3)主要组件
tomcat(servlet进行调用并页面显示任务),数据库(存储任务),Bundle,coordinator,workflow
阅读全文
0 1
- Oozie基础知识:调度器简介及Oozie功能架构
- Oozie简介
- Oozie简介
- Oozie简介
- OOzie简介
- Oozie简介
- Oozie简介
- Oozie简介
- Oozie简介
- Oozie
- Oozie
- OOZIE
- oozie
- oozie
- oozie
- oozie
- Oozie
- Oozie的简介及安装部署
- 孤儿进程与僵尸进程【总结】
- 搭建伪分布式hadoop集群
- 把对象转换成JSON格式的Object类型和String类型的字符串
- HDU 1698 Just a hook (线段树区间更新)
- 配置Nginx实现负载均衡
- Oozie基础知识:调度器简介及Oozie功能架构
- python中对于“+”符号,不同的数据类型表现的不同的行为
- 信号处理signal与sigaction函数
- less的初步学习
- POJ 2104 K-th Number (主席树)
- MarkdownPad2.5 注册码
- n 次插值的Lagrange 形式 和 Newton 形式
- JVM初窥:虚拟机性能监控与故障处理工具
- POJ3276_Face The Right Way_反转问题-1