mesos 架构
上面这张图展示了mesos的主要部件。mesos由master后台程序、agent后台程序、mesos framework 组成,其中agent运行在每个集群节点上,framework负责在agent上运行任务。
Master能够通过为framework产生资源邀约(resource offers)进行细粒度的资源(CPU、RAM……)调度。每个资源要求包含类似如下的列表:<agent ID, resource1: amount1, resource2: amount2, …> 。master根据已经给定的组织策略(如公平算分享或者严格优先级)决定给每一个framework多少资源邀约。为了能够支持多种策略,master采用了模块化的架构,通过插件机制可以方便的添加新的分配模块。
framework运行在mesos之上,由两部分组成:scheduler——注册到master,并负责提出资源需求;executor——运行在agent节点,运行所属framework的task。然而master决定分配给每个framework多少资源,framework选定使用资源邀约中哪些资源。当framework接受了分配的资源,它将想要在mesos上运行的任务返回给mesos。接下来,mesos在相应的agent上启动这些任务。
资源邀约示例
下图演示了一个framework如何调度任务运行。
让我们把图中的各个事件过一遍。
- agent1 上报给master,它有4 cpu 和 4gb内存空闲。接下来master调用分配策略模块,该模块告知应该给framework 1提供所有可用的资源。
- master发送一个描述agent 1上可用资源的资源邀约给framework 1.
- framework的scheduler回复master两个任务需要在agent上运行,第1个任务使用<2 CPUs, 1 GB RAM> 的资源,第2个任务使用 <1 CPUs, 2 GB RAM>资源。
- 最后,master把任务发送到agent,agent分配适当的资源给executor,executor启动这两个任务(图中的虚线部分)。因为还有1 CPU和1GB内存资源没有分配,分配模块会提供这些资源给framework 2.
另外,随着任务完成或者有新的空闲资源,资源分配过程重复进行。
虽然mesos提供轻量级的接口允许对其进行扩展以及framework可以独立演进,但是有个问题:在mesos不知道framework存在的一些约束条件的情况下,framework的约束条件如何得到满足?比如,framework需要从本次取得一份数据,但是mesos不知道哪一个节点有这份数据。 mesos通过给framework拒绝 邀约的能力的方式解决这类问题。 一个framework会拒绝那些不满足其约束条件的邀约,只接受满足约束的。特别指出的是,我们已经找一个叫做延迟调度的简单策略,即framework等待一个有限时间来等待存储输入数据的节点,得到近似优化的本地数据处理结果。
相关推荐
vagrant-mesos 是一款运维工具,可以使 Mesos 集群的安装和运行更加容易。vagrant-mesos 支持 Mesos 0.21.0 集群,同时包括 Marathon (0.8.0) 和 Chronos (2.1.0)正在运行的框架服务器节点。这意味着,你可以使用 ...
《PyPI上的nagios-mesos-0.2.5.tar.gz:监控与云原生环境的集成》 PyPI(Python Package Index)是Python社区的重要资源库,它为Python开发者提供了大量的开源软件包。在PyPI官网上,我们可以找到名为“nagios-...
开源项目“vektorlab-mesos-cli”是一个专为Apache Mesos设计的强大命令行界面工具。Apache Mesos是一种分布式系统内核,它能够高效地在集群中管理和调度资源,广泛应用于数据中心的操作系统。Mesos CLI由vektorlab...
《PyPI官网下载:cgcloud-mesos-1.4a1.dev276.tar.gz——探索云原生与分布式系统的关键技术》 在IT领域,PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python库供全球用户下载和使用。...
sample-fluentd-on-mesos-docker, 在 Mesos Docker 马拉松上,Fluentd Mesos Docker 马拉松上的 Fluentd这是一个在 mesos,Docker 和马拉松上运行的fluentd示例。概述 PrerequireVagrant 1.4.1 ( 我只检查了这个版本...
Foundry-Mesos框架由华为与Mesosphere的工程师合作完成,能够为应用提供安全可靠的、可伸缩、可扩展的云端运行环境,并且应用能够 享用Cloud Foundry生态圈内各类丰富的服务资源。企业能够通过Cloud Foundry开发云...
我们也希望能够为他们提供最理想的方式以构建基于微服务架构的应用程序。而Kubernetes-Mesos正是我们基于这一理念所开发出的技术成果,其能够将Kubernetes作为原生Mesos框架处理并运行在DCOS之上。Kubernetes-Mesos ...
ceph-mesos, 用于扩展Ceph集群的Mesos框架 在 Apache Mesos上的使用 Docker 来扩展Ceph集群的Mesos框架。 它旨在成为一个快速而可靠的解决方案。目前,它只能:启动 1,3 osd,1 radosgw 。 基于的接受 RESTful ...
Mesos是分布式系统的基础架构层,它允许多个框架(如Hadoop、Spark等)共享集群资源。而clj-mesos是Clojure对Mesos API的封装,简化了在Clojure中编写Mesos框架的流程。 【Clojure】是一种函数式编程语言,以其简洁...
资源分类:Python库 所属语言:Python 资源全名:asgard-api-plugin-metrics-mesos-0.3.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Set up Mesos on different operating systems Use the Marathon and Chronos frameworks to manage multiple applications Work with Mesos and Docker Integrate Mesos with Spark and other big data frameworks ...
Mesos 的架构可以分为三个部分:Framework、Resource/Offer 和 Task/Executor。其中,Framework 负责将任务分配给 Executor,Executor 负责执行任务,而 Resource/Offer 则提供了资源的管理和分配。 Mesos 的编程...
kubernetes-mesos 当遇到 Kubernetes 和 Mesos 是天作之合。 Kubernetes 启用了 Pod,这是一种抽象,代表一组位于同一位置的容器,以及用于服务发现、负载平衡和复制控制的标签。 Mesos 为集群中跨节点的 pod 提供细...
vagrant-mesos, Mesos/Docker/Marathon/Aurora 开发 Vagrant setup mesosVagrant开发 environent Mesos/Marathon/Chronos/Aurora/Jenkins/Docker免责声明:这个Vagrant安装消耗了大量资源,但在我的2013 Macbook Pro...
puppet-mesos, 用于管理Mesos节点的Puppet 模块 Mesos Puppet 模块 兼容性说明: 当前版本( 0.6. x ) 需要 puppetlabs-apt> = 2.1.0,它具有重构 API ( 如果你不想使用中级 APT repo,那并不重要) 。安装主机
**Kafka-Mesos架构** Kafka-Mesos框架由两部分组成:`kafka-mesos-master` 和 `kafka-mesos-shard`。`kafka-mesos-master` 是管理组件,负责Kafka集群的配置、调度和监控,而 `kafka-mesos-shard` 是运行在Mesos上...
Mesos架构包含Master节点和Agent节点:Master节点负责全局资源调度和管理,而Agent节点运行在每个计算节点上,提供资源报告并执行任务。Airflow-Mesos-Executor将Airflow的DAG任务映射到Mesos的任务,并通过Mesos的...
Rancher Mesos Scheduler 该存储库包含apache mesos框架的调度程序,用于与Rancher集成。 调度程序将接收来自mesos的资源报价,并使用rancher-mesos-executor将牛的主机初始化任务分配给资源。 接触 对于错误,...
terraform-mesos, 在Google云上,编写Mesos集群的东西 容器解决方案 Terraform Mesos如何在Google云上使用Terraform设置Mesos集群?安装 Terraform这里模块需要 Terraform 0.6.16或者更高版本按照 https://www.terra