详解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