AntDen 说明
===================================简介=====================================
AntDen: 一个开源的通用计算框架
AntDen包括如下四部分:
I. 调度器(scheduler)
II. 控制器(controller)
III. 客户端(slave)
IV. 执行器(executer)
===================================安装=====================================
1. 确定已经安装了MYDan工具, 项目地址 https://github.com/MYDan/mayi.git,
(注:查看MYDan手册http://mydan.org/_book/quick_install/ ,
确保控制器可以调通客户端,否则在后续添加机器步骤会报错)
2. clone 本项目到/opt目录下
3. 添加调用插件到mydan中
cp /opt/AntDen/slave/code/antden /opt/mydan/dan/agent/code/antden
4. 添加工具到系统环境
ln -fsn /opt/AntDen/bin/antden /bin/
5. 运行AntDen命令(注: 命令是全小写)
antden
===================================使用=====================================
1.在所有客户端上启动slave:
antden slave start
2.在控制机上启动调度器和控制器
antden scheduler start
antden controller start
3.在控制机上添加slave到集群
antden scheduler addmachine 127.0.0.1
4.提交一个作业
antden scheduler submitjob --file /opt/AntDen/example/job.yaml
===============================核心**=====================================
-
对资源和执行任务的高度抽象
资源的抽象: 可以添加自定义的资源采集插件,在添加机器的环节自动把资源导入调度器,在提交作业的时候可以匹配对应的资源
执行任务的抽象: 任务由执行器去具体启停,执行器可以用 perl/python 等去编写
提交的作业需要标明执行器,作业的配置文件中的所有信息,除了executer和resources两个字段, 其他所有参数,原封不动的传递到执行器的启动环节。 执行器需要四个插件,checkparams,start,stop,status checkparams: 用于检查传入的参数的正确性 start: 获取到执行参数后,需要返回生成的作业标示号(如:进程可以返回进程号,标示号提供给stop,status插件) stop: 通过标示号停止一个执行的原子 status: 通过标示号去查看执行情况
-
分层结构,可以拆解使用
控制器和客户端来完成任务的调用和管理。调度器可以单独开发对接,只要能完成资源的记录和分配即可,通过控制器来完成剩下的工作。 任务退出后,通过回调告知调度器释放对应的资源。
-
通过状态机避免分布式情况下数据一致性问题