Skip to content
Parker Zhou edited this page Sep 11, 2020 · 2 revisions

Marayarn

Marayarn(Marathon on yarn)项目的目标是基于yarn实现marathon。长期以来yarn作为hadoop生态的资源调度框架,主要运行并行计算任务(Spark, Mapreduce, Flink);而Marathon是mesos生态下最实用的分布式任务调度平台。无论是yarn还是mesos在资源管理和调度上有许多共同点,这也是本项目的得以实现的基础。

使用Marayarn,你可以在现有的hadoop平台上自由调度你的应用程序。Marayarn提供了如下用户接口:

  1. Web界面创建、管理、变更、查看你的应用(开发中)
  2. Cli命令行终端创建、管理、变更、查看你的应用(部分完成)
  3. java接口,采用编程的方式创建你的应用(不断完善)

Marayarn支持但不限于:

  • 自定义应用名称
  • 指定yarn队列执行应用
  • 指定实例数量/单个实例的CPU/内存
  • 指定使用什么用户提交应用
  • 设置执行器环境变量
  • 支持file://, hfs://, http://, ftp:// 协议上传应用包,支持jar包、普通文件、压缩文件
  • 支持指定每个实例执行的命令行
  • 支持开启了kerberos认证的hdfs和yarn
  • 支持marathon中定义的一部分Constraints(包括CLUSTER/LIKE/UNLIKE/IS/UNIQUE/GROUP_BY),例如
    • node,UNIQUE: 表示实例在所有node上最多只有一个实例
    • node,GROUP_BY: 表示实例按照node分散部署,相当于负载均衡的部署
  • 支持动态扩缩容,变更配置
  • 实例挂掉自动重拉
  • 支持yarn的tracking url,AM端有个简单的界面显示状态。AM端也有RESTful接口,可供查询状态信息
Clone this wiki locally