Apache mesos介绍(一)

     Mesos是集群管理器,于2009年由加利福尼亚大学发起,已经在很多公司的生产环境上使用过,包括Twitter和Airbnb。2013年7月,成为Apache的最高级项目。Mesos通过在多种不同框架之间共享可用资源来提高资源使用率。Mesos可以看做是数据中心的内核,提供所有节点资源的统一试图并且可以无缝地访问多节点资源,这种做法给开发人员和运维人员都带来了巨大的好处,它将不同的框架整合到统一的基础框架上,不仅能够节约基础架构的花费,而且给运维团队带来了便利,也帮助开发人员简化了基础架构的接口。

  一. Mesos架构

     通过为数据中心提供一个操作系统内核,Mesos可以让开发人员将分布式集群当成一台高性能电脑那样来开发程序,并且无需考虑底层硬件设施相关的细节和资源获取方法。
                           
    

    最小化接口是Mesos可以使不同框架之间的资源共享更为高效,将任务的真正调度和执行交给框架来负责,因此框架可以用多种方式来实现自己的调度和容错机制。Mesos的核心和框架可以独立并行发展。

1.1 Mesos Master

    Master负责在slave资源和框架之间进行调度。由ZooKeeper使用分布式一致性算法选举产生一名活动的Master,Master本身不会用来做任何重负载计算,除了负责任务和框架之间的通信,它只需Slave的资源以资源offer的形式提供给框架,并且根据已接受的offer在Slave上启动任务。资源offer是由节点上可用资源组成的向量,代表每个Slave所提供给制定框架的资源。

1.2Mesos Slave

    Slave是Mesos集群里真正工作的节点,它们管理单个节点上的资源,比如CPU、内存、端口等,同时执行框架递交的任务。Slave遵守资源政策来适应业务优先级,此外还对运行的任务进行适当的隔离。Slave的资源可以通过Slave资源和Slave属性来进行描述。Slave属性表示了每个Slave的特殊信息,Mesos并不理解这些属性,由各个框架对这些属性信息进行解析和利用。

1.3框架

运行在Mesos智商的分布式应用称为框架。框架通过Mesos所提供的通用资源API来实现需求。框架由框架调度器和执行器组成。调度器负责协调任务的执行,执行器提供任务执行控制的功能,一个执行器中可运行一个或多个任务(多进程)。框架API提供和调度器以及执行器通信的功能。

1.4通信

    Mesos利用一个和HTTP类似的协议在各个组件之间进行通信。libprocess库实现了线程间的异步通信,它的消息是不可变的,这样易于内部消息的并发。下列API使用了Mesos的通信机制。

    调度器API:框架调度器和Mesos Master进行通信。

    执行器API:执行器和Mesos Slave之间进行通信。

    内部API:Mesos Master和Slave之间进行通信。

    运维API:主要为运维人员准备,并被Web UI等类新应用使用。

    每个角色都需要通过HTTP POST请求发送消息,消息的路径有角色名和消息名组成。Mesos使用Protocol buffers对消息进行序列化,消息的解析由消息的接收方实现。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值