所谓的DC/OS,全称为数据中心操作系统,其基本的思想就是使得运维人员操作整个数据中如操作一台电脑一样。

DC/OS使用了哪些技术可以做到这一点呢?

如图,左面是普通的Linux操作系统,右面是DC/OS,在这里做了一个对比。

无论是哪种操作系统,都需要管理外部的硬件设备,最重要的四种硬件资源即CPU,内存,存储,网络。

最初使用汇编语言写程序的前辈,还是需要指定使用那些硬件资源的,例如指定使用哪个寄存器,放在内存的哪个位置,写入或者读取那个串口等,对于这些资源的使用,需要程序员自己心里非常的清楚,要不然一旦JUMP错了位置,程序就无法运行。这就像运维数据中心的一台台物理机的前辈一样,那个程序放在了哪台机器上,使用多少内存,多少硬盘,都需要心里非常的清楚。

为了将程序员从对硬件的直接操作中解放出来,提升程序设计的效率,从而有了操作系统这一层,实现对于硬件资源的统一管理。某个程序使用哪个CPU,哪部分内存,哪部分硬盘,程序只需要调用API就可以了,由操作系统自行分配和管理,其实操作系统只做了一件事情,就是调度。对应到数据中心,也需要一个调度器,将运维人员从指定物理机或者虚拟机的痛苦中解放出来,这就是Mesos。Mesos即使数据中心操作系统的内核。

在使用操作系统的时候,我们可以开发驱动程序来识别新的硬件资源,可以开发内核模块(例如openvswitch.ko)来干预对于硬件资源的使用,对于Mesos,同样可以开发isolator来识别新的硬件资源例如GPU,也可以开发Executor来干预资源的使用。

在内核之上,就是系统服务,例如systemd,是用来维护进程运行的,如果systemctl enable xxx,则保证服务挂掉后自动重启。对于DC/OS,保持服务long run的是marathon,但是仅仅只有marathon还不够,因为服务是启动在多台机器上的,而且服务之间是有依赖关系的,一个服务挂掉了,在另外一台机器启动起来,如何保持服务之间的调用不需要人工干预卖域名呢?这需要另外的技术,称为服务发现,多是通过DNS,负载均衡,虚拟机IP等技术实现的。

使用操作系统,需要安装一些软件,于是需要yum之类的包管理系统,使得软件的使用者和软件的编译者分隔开来,软件的编译者需要知道这个软件需要安装哪些包,包之间的依赖关系是什么,软件安装到什么地方,而软件的使用者仅仅需要yum install就可以了。DC/OS就有这样一套包管理软件,和其他的容器管理平台需要自己编译Docker镜像,自己写yml,自己管理依赖不同,DC/OS的软件使用者只需要dcos package install就可以安装好软件了,软件的配置,节点数目,依赖关系都是有软件编译者设置。

在最外层,DC/OS像普通的操作系统一样,有统一的界面和命令行。通过它们,可以管理安装包,管理节点,运行任务等。DC/OS不仅仅是运行容器的平台,如果仅仅运行容器,就是容器管理平台,而非数据中心操作系统。通过DC/OS,你可以在每台机器上运行一个命令来进行统一的配置,而无需登录到每台机器上去。你可以运行容器应用和大数据分析应用并共享资源,并且可以相互发现,这更加符合现代互联网应用,微服务和大数据不可分割。而且Mesos的架构非常开放,你可以通过开发Framework, Executor, Modules, Hooks等,轻松干预微服务或者大数据任务的执行过程,来定制化你的应用。这也符合操作系统微内核的概念。

DC/OS的内核模块Mesos

Mesos架构如下

这个图比较的著名了

从图中可以看到,Mesos有Framework(Framework里面有Scheduler), Master(Master里面有allocator), Agent, Executor, Task几部分组成。这里面有两层的Scheduler,一层在Master里面,allocator会将资源公平的分给每一个Framework,二层在Framework里面,Framework的scheduler将资源按规则分配给Task。

Mesos的这几个角色在一个任务运行的生命周期中,相互关系如下:

Agent会将资源汇报给Master,Master会根据allocator的策略将资源offer给framework的scheduler。Scheduler 可以accept这个资源,运行一个Task,Master将Task交给Agent,Agent交给Executor去真正的运行这个Task。

DC/OS的基本思想——为什么说他是数据中心操作系统相关推荐

  1. 智简 DC、绿建未来,华为发布下一代数据中心

    2022 年 5 月 26 日,以"智简 DC,绿建未来"为主题,华为下一代数据中心发布会在东莞松山湖成功举办.在这场思想与技术盛宴中,华为数据中心能源军团凝聚行业专家智慧结晶,面 ...

  2. DC/OS 的安装与部署

    DC/OS 的安装与部署 2016年4月,Mesosphere开源了他们开发的DC/OS (数据中心操作系统),引起了广泛的关注,虽然开源版本和他们的企业版本应该还有一些差距,但是我们仍然可以从中学习 ...

  3. 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台

    http://blog.csdn.net/popsuper1982/article/details/52736084 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台 大家好,欢迎大家参 ...

  4. DC/OS关键技术与应用场景

    本文讲的是DC/OS关键技术与应用场景[编者的话]文章首先对数据中心操作系统内的主要技术,包括Mesos.Yarn.Kubernetes和容器进行了阐述.根据国内外电信运营商的现状和面临的问题,提出了 ...

  5. 【转载】DC/OS关键技术与应用场景

    [转载]DC/OS关键技术与应用场景 2017-02-20 张基恒 亦庄小分队 作者简介  作者简介 张基恒(1990-),女,中国联合网络通信有限公司研究院工程师,主要从事大数据.IT架构方面的研究 ...

  6. DCOS实践分享(4):如何基于DC/OS整合SMACK(Spark, Mesos, Akka, Cassandra, Kafka)

    这篇文章入选CSDN极客头条 http://geek.csdn.net/news/detail/71572 当前,要保证业务的市场竞争力,仅靠设计一个可用并且好看的产品,已经完全不能满足要求.全球消费 ...

  7. DC / OS中具有Java和数据库应用程序的服务发现

    该博客将展示一个简单的Java应用程序如何使用DC / OS中的服务发现与数据库进行对话. 为什么要进行服务发现? 应用程序通常由多个组件组成,例如应用程序服务器,数据库,Web服务器,缓存和消息传递 ...

  8. Bluemix平台打造DC/OS云计算平台(一)

    自今年4月份DC/OS开源以来,mesosphere公司的这款云数据中心内核的软件越来越受到大家的欢迎,继1.7版本之后,不到半年时间mesosphere推出了最新的1.8版本,BTW:Mesos的作 ...

  9. Open DC/OS大中华区官方发布会在京隆重召开

    DCOS领域诞生了一个100%开源的企业级Datacenter Operating System版本,即DC/OS.Linker Networks及其合作伙伴Microsoft, Cisco, HPE ...

最新文章

  1. 正确理解ThreadLocal
  2. java吵醒线程_一文搞懂 Java 线程中断
  3. DeepID2:Deep Learning Face Representation by Joint Identification-Verification
  4. MFC CEdit 自动换行功能
  5. python装饰器怎么编程_Python编程:Python装饰器入门
  6. Xuggler教程:帧捕获和视频创建
  7. html5头像裁剪,移动端 上传头像 并裁剪功能(h5)
  8. 基于webpack模块加载,ts里对系统对象prototype的扩展
  9. 刚刚,百度AI公布最新进展:Apollo2.0,新课程,设全球研究院
  10. ThinkPHP---案例1登录登出和添加部门
  11. 一键批量检测微信是否被好友删除
  12. css 平移到某个位置_css怎么移图片位置?
  13. 8产权界定_保护与限制
  14. font setup -- dejavu 安装字体
  15. stm32项目实战ST7735环境质量检测仪
  16. 【WPF】用100行C#代码实现扫雷
  17. 微信二级不死域名是什么意思?被封后还能访问吗?
  18. SVM算法(三层境界)
  19. 程序员该如何定位?看这四大方向
  20. Android系统分析之带着问题看事件分发机制

热门文章

  1. 通俗易懂解释raid0和raid5_简要阐述raid 0,raid 1,raid5 之间的区别于优缺点以及最低组建条件和可用容量...
  2. 财务报表OCR识别平台案例之安徽征信
  3. php网站整合ck播放器,wordpress整合ckplayer最新版 wp文章短代码调用ck播放器
  4. Windows设置默认打印机
  5. e admin admin.php,EAdmin极简社区源码
  6. 关于tomcat启动报错Error deploying web application directory [C:\......]出现的其中一种问题解决:
  7. ae导出html,动画还原100%-AE一键导出
  8. Nginx反向代理的配置
  9. 【OpenCV】马赛克算法
  10. silverlight mysql_Silverlight中衔接MySQL数据库实例详解