初见
发展历程
- 起源
- 版本迭代
- 2013年1月份发布了0.12.1版本
- 中间经历了30多个版本
- 2016年7月份发布了1.0.0
- 两级调度
- Mesos master是支持高可用集群的,通过zookeeper完成的主节点选举
- Mesos master管理所有节点的Mesos slave的守护进程
- Mesos slave运行在物理机或者虚拟机之上。每个运行具体的任务或者是服务
- 每个salve在启动的时候都会注册是master
- master协调每个节点的slave,并且确定每个slave的可用资源
- 第一级调度 Hadoop 和Mpi ,master 调度slave
- 第二级调度 Framework的组件组成,大家看下下图的虚线部分,Framework包括调度器和执行器两部分,Master可以跟多种Framework进行通信,上边展示的调度器也就Hadoop 和 MPI,还可以用多种。下边展示的是执行器,执行器运行在slave中。
- 调度的流程
- slave1也就是Agent1告诉master空闲资源有4cpu,4gb
- Mesos触发调度资源分配模块,请求分配4cpu,4gb,Framework1要求使用可用资源,然后master发出要约描述了slave1中所有的可用资源。4cpu,4gb内存
- Famework的调度器给master说需要在slave上运行2个task,task1(2cpu,1gb)
task2(1cpu,2gb) - Mesos向slave下发任务,并且分配适当的资源,给Franmework的执行器,接下来有执行器启动这2个任务,fw1,task1; fw2,task2;
Marathon
整合mesos marathon 负载均衡 服务发现的流程
Mesos特征
- 强大的资源管理
- Kernel 和Framework的分离
- 门槛较低,易于使用
- 大厂使用
Marathon特征
- 高可用
- Constraints
- 服务发现和负载均衡
- 健康检查
- 事件订阅
- 完善的REST API
PS:这就是对Mesos和marathon 大概的理解。