在Mesos上使用Chronos运行计划任务
《在Mesos上使用Chronos运行计划任务》要点: 题图:By Ellie Pritts From Unsplash Chronost简介 Chronos是由Airbnb公司推出的用来替代Cron的开源产品,这是一个用来运行基于容器定时任务的Mesos框架.Chronos可处理依赖性和基于ISO8601的调度,你可以用它来对作业进行编排.支持使用Mesos作为作业执行器,支持和Hadoop进行交互.可定义作业执行完成后的触发器.支持任意长度的依赖链. 由于Chronos以ISO8601时间规范作为定时任务的执行时间配置,所以理解这个时间规范对配置Chronos定时任务至关重要.这里我们就简单看下ISO8601的规则:
更详细的ISO 8601介绍可参考:https://zh.wikipedia.org/zh-hans/ISO_8601 Chronos工作原理 Chronos以Framework身份接入Mesos,支持Zookeeper选举高可用,同时将所有的定时任务配置存储在Zookeeper里. Chronos的工作流程描述如下:
项目地址:https://github.com/mesos/chronos 安装Chronos在安装Chronos前你必须有一个Mesos集群环境,有关Mesos集群搭建你可以参考「使用Mesos和Marathon管理Docker集群」一文,这里就不再讲述了. 这里是在之前集群环境基础上搭建,所以在 通过软件包安装
通过Docker安装由于Ubuntu 16.04不支持包安装,这里直接用官方的Docker镜像运行Chronos.
查看Docker容器是否正常运行 查看相应端口是否正常
Chronos的最新版本是v3.x,它对之前的2.x版本进行了重写,导致目前3.x的Web UI界面极其简陋,仅仅提供了基础的任务启停和配置功能. Chronos默认是监听在4400端口,这里使用了自定义端口为8000.通过使用 使用Chronos
在Chronos页面,点击”ADD JOB—Scheduled”并填入以下相关信息来创建一个任务,如下图: Name:Test-Chronos 注意:时间格式是ISO 8601表示法,时间是UTC时间.如果要加上时区可以这样写: 在Chronos页面,查看任务执行的情况
在Mesos页面,查看任务执行的情况. (编辑:ASP站长网) |