首页 > 其他分享 >资源管理系统Apache Mesos

资源管理系统Apache Mesos

时间:2023-03-01 22:31:33浏览次数:52  
标签:Mesos 框架 调度 Framework Master Apache 资源管理 资源分配

Mesos是诞生于UC Berkeley的一个研究项目,它的设计动机是解决编程模型和计算框架在多样化环境下,不同框架间的资源隔离和共享问题。尽管它的直接设计动机与YARN稍有不同,但它的架构和实现策略与YARN类似。当前部分公司在使用Mesos管理集群资源,比如国外的Twitter、国内的豆瓣等。

Apache Mesos由以下四个组件组成:

资源管理系统Apache Mesos_管理集群

1、Mesos MasterMesos

Master是整个系统的核心,负责管理整个系统中的资源和接入的各种框架(Framework),并将Mesos Slave上的资源按照某种策略分配给框架。为了防止Mesos Master出现故障后导致集群不可用,Mesos允许用户配置多个Mesos Master,并通过ZooKeeper进行管理,当主Mesos Master出现故障后,ZooKeeper可马上从备用Master中选择一个提升为新的主Mesos Master。

2、Mesos SlaveMesos

Slave负责接收并执行来自Mesos Master的命令,并定时将任务执行状态汇报给Mesos Master。Mesos Slave将节点上的资源使用情况发送给Mesos Master,由Mesos Master中的Allocator模块决定将资源分配给哪个Framework,需要注意的是,当前Mesos仅考虑了CPU和内存两种资源。为了避免任务之间相互干扰,同YARN一样,Mesos Slave采用了轻量级资源隔离机制Cgroups。

3、Framework Scheduler

Framework是指外部的框架,如MPI、MapReduce、Spark等,这些框架可通过注册的方式接入Mesos,以便Mesos进行统一管理和资源分配。Mesos要求接入的框架必须有一个调度器模块Framework Scheduler,该调度器负责框架内部的任务调度。一个Framework在Mesos上工作流程为:首先通过自己的调度器向Mesos注册,并获取Mesos分配给自己的资源,然后再由自己的调度器将这些资源分配给框架中的任务。也就是说,同YARN一样,Mesos系统采用了双层调度框架:第一层,由Mesos将资源分配给框架;第二层,框架自己的调度器将资源分配给内部的各个任务。当前Mesos支持三种语言编写的调度器,分别是C++、Java和Python,为了向各种调度器提供统一的接入方式,Mesos内部采用C++实现了一个MesosSchedulerDriver(调度器驱动器), Framework的调度器可调用该Driver中的接口与Mesos Master交互,完成一系列功能(如注册、资源分配等)。

4、Framework Executor

Framework Executor主要用于启动框架内部的任务。由于不同的框架,启动任务的接口或者方式不同,当一个新的框架要接入Mesos时,通常需要指定专有的Executor,以告诉Mesos如何启动该框架中的任务。为了给各种框架提供统一的执行器编写方式,Mesos内部采用C++实现了一个MesosExecutorDiver(执行器驱动器), Framework可通过该驱动器的相关接口告诉Mesos启动任务的方法。

标签:Mesos,框架,调度,Framework,Master,Apache,资源管理,资源分配
From: https://blog.51cto.com/key3feng/6094370

相关文章

  • 重磅!flink-table-store 将作为独立数据湖项目重新加入 Apache
    数据湖是大数据近年来的网红项目,大家熟知的开源数据湖三剑客Apachehudi、Apacheiceberg、Databricksdelta近年来野蛮生长,目前各自背后也都有商业公司支持,投入了大量......
  • Apache Drill 理解
    ApacheDrill理解一、RestApi二、遇到问题1.中文编码问题2.升级无法启动问题3.mysqlsql解析执行语法问题4.集群模式下jdbcdriver代替restapi问题三、案例......
  • Apache HttpClient使用和源码分析
    在上文中分析了HttpURLConnection的用法,功能还是比较简单的,没有什么封装接下来看看ApacheHttpClient是如何封装httpClient的目录组成请求代码代码分析自定义拦截器和处......
  • Apache Maven Assembly自定义打包插件的使用
    前言本文主要记录在SpringBoot项目中使用ApacheMavenAssembly插件进行打包的相关内容;官网说明:https://maven.apache.org/plugins/maven-assembly-plugin/概述是什......
  • Apache Calcite 架构理解
    ApacheCalcite架构理解一、简介和架构二、SQL解析三、案例分析四、总结六、参考链接官网SQL解析和重构,Calcite简单使用【FlinkSQL】ApacheCalcite架构......
  • K8s学习(二)Kubernetest的资源管理及五大资源介绍
    前言本文是k8s学习系列文章,前后串起来是一个完整的课程(学习笔记),本文记录k8s的资源管理方式及五大类资源的具体管理命令,看完本文基本上就能实现k8s的基本操作,可以独立部署小......
  • SSM jsp人力资源管理系统
    SSMjsp人力资源管理系统登录系统管理部门管理员工管理薪资管理招聘管理培训管理分页列表展示搜索新增编辑删除系统介绍:权限分为管理员和普通员工普通员工仅......
  • CentOS 中安装 Web 压力测试工具 ApacheBench (ab)
    ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tom......
  • centos下的apache2.4安全配置
    基本概括关键词ServerServerRoot "/etc/httpd"  #apache软件安装的位置 Listen80 #监听的端口号ServerNamewww.test.com:80#网站的名字ServerAdmin......
  • mq超时异常org.apache.rocketmq.client.exception.MQBrokerException: CODE: 2 DESC:
       mq生产环境正常生产和消费都挺稳定的,99.999%应该都没问题的,比较稳定。今天刚好碰到过一例因为写超时导致异常问题。   2023-02-2321:19:58.449TID:8b......