详解Hadoop作业平台宙斯Zeus

杨⻜

分布式研发⼯程师

开源爱好者

技术顾问

邮箱:yangf_sky@163.com

博客:/yangfei001

微博:/u/1664659850

内容⼤纲

•Zeus功能介绍

•Zeus与Oozie

•Zeus概览

•Zeus架构详解

•Zeus任务执⾏流程详解

•Zeus实战

•Zeus组件介绍

•安装注意事项

•zeus2

为什么需要调度??

•直接放到crontab 中??

•⽤⼀个脚本直接调⽤??

•直接⼿动执⾏??

……

Zeus是什么?

•⼀套分布式⼯作流调度作业平台,从任务的调试运⾏到

⽣产任务的周期调度

•Hadoop MapReduce任务的调试运⾏

•Hive任务的调试运⾏

•Shell任务的运⾏

•Hive元数据的可视化查询与数据预览

•Hadoop任务的⾃动调度

•完整的⽂档管理

•不断更新和优化,及时在线答疑

Zeus与Oozie

•相同:基于Hadoop平台的开源⼯作流调度系统

•优势:

•Zeus友好的交互界⾯和统计⼯具

•Zeus提供在线⽀持

•Zeus配置简单,Oozie需要配置XML⽂件

•完整的权限管理

•不⾜:

•Oozie⽀持Pig、Sqoop等任务

•⽀持不⾜

Zeus概览

Zeus概览

Zeus概览

Zeus架构

Zeus物理架构

Zeus架构

Master :

1、调度内核,持有分布式锁,内部启动着调度Server

2、维护Job 间的依赖关系,

3、获取Job执⾏结果,成功给其他任务发⼲播,失败发送告警

Worker :

1、执⾏Master下发的任务

2、定期上报正在执⾏的任务队列

3、定期检测Master的运⾏状态

4、持有当前Master标志

Zeus架构

Master单点解决⽅案

1、Worker竞争获得分布式锁,获得锁的节点成为

Master ,启动调度内核

2、未获得分布式锁的节点停⽌当前任务,并连接新的

Master

3、Master将之前正在执⾏的任务重新下发给各个Worker

Zeus详解

获取执⾏的worker,下发

将任务提交到Master 任务

返回执⾏结果

返回执⾏结果

获得结果

在WEB UI上创建任务,上传资

源,并且点击⼿动执⾏

Zeus详解

Master Alarm

将失败信息告知管理员

计算任务是否满⾜执⾏条件,如

果满⾜下发到worker

Worker

下载任务需要的资源,执⾏任务

上报结果

Zeus实战

前置条件

1、安装dos2unix (必须)

2 、安装Hadoop客户端,确保hadoop命令可⽤(可选)

3 、安装Hive客户端,确保hive命令可⽤(可选)

4 、安装打包⼯具Maven (可选)

Zeus实战

配置修改

1、在/web/sr

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐