Mesos初步尝试
Posted McKay
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mesos初步尝试相关的知识,希望对你有一定的参考价值。
记得几年前,用.net做分布式批处理的时候环境搭建很麻烦,虽然参数的分片算法、配置都搞定了,但是.net虚拟机的环境建立是个头疼的事:
- 节点要自己手工建
- 环境变量没法从前往后传递
- 批处理程序改动后的分发麻烦
- 批处理程序的状态需要自己写代码通知前端系统
- 日志查看麻烦
现在讲讲基于Mesos怎么做
由于.net的历史原因,mesos没有为.net封装wrapper(java/python都有,连js都有,唯独没有.net的),正要放弃时,看到有HTTP接口,就用它了,下面介绍几个重要命令:
- SUBSCRIBE,这个是基于HTTP的事件监听订阅,mesos有什么消息过来的话都是通过这个接口过来的(Scheduler必须一直和mesos保持连接,针对这个命令,mesos会源源不断的发送消息到scheduler)
- OFFERS,这个是mesos发来的消息类型之一,代表说mesos现在有多少多少资源(cpu, memory, disk)等等,问我们自制的Scheduler要不要资源,要的话Scheduler需要回复ACCEPT,不要的话回复DECLINE来拒绝资源
- ACCEPT,这个命令需要带上需要的资源、命令、运行在哪个mesos-agent上,这里的命令最简单的就是shell命令,比如: echo ‘hello‘,也可以是sleep 100, 当然也可以是dotnet命令
- DECLINE,没有仔细研究过,得看官方文档
基本的命令就是上面这几个了。
demo大家可以看看这个。https://github.com/daibinhua888/MesosFramework
展望:能做很复杂的资源伸缩,比如做微服务管理平台、消息队列的复杂队列资源申请、分布式批处理系统
遗憾:无法申请资源,有REQUEST方法,但是默认全部忽略,除非自己编写allocator
以上是关于Mesos初步尝试的主要内容,如果未能解决你的问题,请参考以下文章
配置在 mesosphere DCOS 上运行的 prometheus mesos-exporter
Mesos 1.7.0发布-在性能容器化和多框架运行方面有重大提升!
去哪儿网利用Mesos和Docker构建dev—beta环境
Mesos 上的 Hadoop 因“无法找到或加载主类 org.apache.hadoop.mapred.MesosExecutor”而失败