hyzqb 发表于 2017-12-17 09:16:52

hadoop工作流调度系统

常见工作流调度系统
  Oozie, Azkaban, Cascading, Hamake
各种调度工具特性对比
  特性
  Hamake
  Oozie
  Azkaban
  Cascading
  工作流描述语言
  XML
  XML (xPDL based)
  text file with key/value pairs
  Java API
  依赖机制
  data-driven
  explicit
  explicit
  explicit
  是否要web容器
  No
  Yes
  Yes
  No
  进度跟踪
  console/log messages
  web page
  web page
  Java API
  Hadoop job调度支持
  no
  yes
  yes
  yes
  运行模式
  command line utility
  daemon
  daemon
  API
  Pig支持
  yes
  yes
  yes
  yes
  事件通知
  no
  no
  no
  yes
  需要安装
  no
  yes
  yes
  no
  支持的hadoop版本
  0.18+
  0.20+
  currently unknown
  0.18+
  重试支持
  no
  workflownode evel
  yes
  yes
  运行任意命令
  yes
  yes
  yes
  yes
  Amazon EMR支持
  yes
  no
  currently unknown
  yes
Azkaban与Oozie对比
  ooize相比azkaban是一个重量级的任务调度系统,功能全面,但配置使用也更复杂。如果可以不在意某些功能的缺失,轻量级调度器azkaban是很不错的候选对象。
  详情如下:
  1、功能
  都可以调度mapreduce、pig、java、脚本等工作流任务和执行工作流任务
  2、工作流定义
  Azkaban使用Properties文件定义工作流,Oozie使用XML文件定义工作流
  3、工作流传参
  Azkaban支持直接传参,例如${input},Oozie支持参数和EL表达式,例如${fs:dirSize(myInputDir)}
  4、定时执行
  Azkaban的定时执行任务是基于时间的,Oozie的定时执行任务基于时间和输入数据
  5、资源管理
  Azkaban有较严格的权限控制,如用户对工作流进行读/写/执行等操作,Oozie暂无严格的权限控制
  6、工作流执行
  Azkaban有两种运行模式,分别是solo server mode(executor server和web server部署在同一台节点)和multi server mode(executor server和web server可以部署在不同节点)
  Oozie作为工作流服务器运行,支持多用户和多工作流
  7、工作流管理
  Azkaban支持浏览器以及ajax方式操作工作流
  Oozie支持命令行、HTTP REST、Java API、浏览器操作工作流
Azkaban
  Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
  它有如下功能特点:
  1、Web用户界面
  2、方便上传工作流
  3、方便设置任务之间的关系
  4、调度工作流
  5、认证/授权(权限的工作)
  6、能够杀死并重新启动工作流
  7、模块化和可插拔的插件机制
  8、项目工作区
  9、工作流和任务的日志记录和审计
页: [1]
查看完整版本: hadoop工作流调度系统