Mesos 实战
  • 推荐0
  • 收藏3
  • 浏览1.9K

Mesos 实战

Roger Ignazio (作者)  余何 (译者)

  • 书  号:978-7-121-31164-2
  • 出版日期:2017-05-09
  • 页  数:260
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Mesos in Action
  • 原书号:9781617292927
  • 维护人:符隆美
纸质版 ¥69.00
本书汇集了以Mesos为核心的新一代数据中心操作系统的最佳实践,全面展示了Mesos集群对数据中心资源管理的集成高效性,和对应用部署和计划任务创建扩容操作的便捷性的优点。
基于Apache Mesos开源项目和Mesosphere公司的开创性工作,作者由浅到深地介绍了Mesos数据中心操作系统下各个相关组件和主流的计算框架,主要内容包括:
1.构建你的第一个Mesos集群:Mesos+Docker+Zookeeper
2.管理Mesos集群:任务调度,资源管理以及日志
3.使用主流计算框架部署容器化应用:Mesosphere公司的Marathon+Chronos以及Apache Aurora
4.以python为例,自开发计算框架
在每个部分,Roger Ignazio都给出了:关键原理及组件组成、安装部署过程、注意事项、日志和诊断方法等最佳实践,并结合相关实例、研究成果和附加资源进行阐述。每个部分的内容组织都着力于条理清晰的、系统的展现Mesos集群的优点。作者对书中建议和使用指南进行了补充说明,以便读者深入了解其合理性,还有实用指南明确每个动作是否成功执行。
《Mesos实战》可以作为新一代数据中心架构设计以及管理的权威性参考和教程,也可作为自建PaaS、CaaS平台的辅助参考,又或是分布式计算框架开发的参考书籍。
本书包含:
搭建启动你的第一个Mesos集群
Mesos的调度,资源管理以及日志记录
使用Marathon、Chronos和Aurora部署容器化的应用程序
使用Python编写Mesos framework
推荐序一
世界著名的曼宁出版社(Manning)出版了不少广受欢迎的计算机丛书,如搜 索领域的 Lucene in Action、Elasticsearch in Action,现在,他们又出版了这本云计算 领域的 Mesos in Action。
Mesos 是一个开源的集群任务调度管理系统。现在随着分布式系统的广泛应用, 越来越多的任务运行在集群上,而不是在单台服务器上。在 x86 PC 服务器集群上运 行任务的好处是 :单台服务器成本低,集群可以随着负载的增加添加服务器,水平 扩展 scale out,而不是过去使用昂贵服务器的 scale up。随着集群规模的扩大,节点 数越多,某个节点出现问题的概率就越大,当某个节点出现问题时,如何保证在这 个节点上运行的任务能够顺利执行完成,成为一个技术难题。另外,如何管理集群, 如何分发任务、监控任务执行过程等都是挑战。如果对于运行在集群上的任务,工 程师还是需要在各台服务器上部署和管理,工作量将非常大,现在有些大规模集群 的服务器数量已经超过万台。理想的情况是,工程师不需要关心集群里具体的每台 服务器,而是把整个集群看成是一个计算、存储资源,把任务提交给集群的管理系统, 由集群的管理系统去分发任务、监控任务执行,当某台服务器出现故障时,集群管 理系统自动把任务派发到其他服务器上运行。这样的集群管理系统可以看作集群操 作系统,甚至是数据中心操作系统。Google 在这方面做了大量的实践,在 2009 年 发表的 The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines 文章中,把整个数据中心看成一台计算机,所有的资源都由数据中心操作系统进行调度管理。
在 20 世纪 80 年代,学术界就开始了集群任务调度管理系统的研究,美国威 斯康辛大学的研究人员开发了 Condor 系统,后来演进成开源的 HTCondor 系 统。 Google 在 1998 年成立之初,就使用 PC 服务器抓取、索引、检索全世界的网页,服 务器数量巨大,他们先是开发了 WorkQueue 系统,也就是一个任务队列,工程师把 需要集群运行的任务提交给这个任务队列,由任务队列把任务下发到集群的服务器, 并监控任务的运行,如果服务器出现故障,就把任务重新下发到新的服务器上。后来, 他们在 WorkQueue 的基础上开发了 Borg 系统,Borg 就是 Google 的集群任务调度管 理系统。10 年前我在 Google 工作的时候,每天需要在集群上运行的任务,都是通 过 Borg 来提交、管理的,非常方便。那时候,Google 的一个集群就已经有 2 万台 服务器的规模,一个数据中心有 10 个这样的集群,20 万台服务器。我加入腾讯后, 也开发了这样的系统。这种系统的资源隔离采用了容器技术(操作系统之上的资源 隔离),而不是虚拟机(物理服务器之上的资源隔离),以实现更小的系统开销,更 方便的管理。现在容器技术也正在被广泛使用,成为虚拟机之外的可选技术路线。
Mesos 也是一个这样的系 统。Mesos 由著名的美国加州大学伯克利分校的 AMPLab 发明,AMPLab 是 Algorithms,Machines and People(算法、机器和人)实 验室的缩写。AMPLab 的研究成果非常多,现在应用广泛的大数据处理框架 Spark 就是 AMPLab 的发明,AMPLab 的研究人员还包括了著名的美国科学院及工程院院 士、发明了 RAID(磁盘阵列)和 RISC(简约指令架构)的 David Patterson 教授。 Mesos 系统也在 Twitter、Airbnb 和苹果公司得到应用。
本书译者之一余何是 IT 专家,他曾在平安科技工作多年,有着丰富的大规模集 群系统的开发、运维、管理经验,经历了多个云计算、大数据系统在金融行业的应用, 在 2015 年出版了《PaaS 实现与运维管理》一书,由他作为经验丰富的实战者来翻 译这本书是最合适不过的了。
相信这本书会为对大规模分布式系统、集群任务调度管理、云计算和大数据感 兴趣的读者带来受益。
陈军 日志易 CEO
推荐序二
余何兄是我的老朋友了,在运维领域耕耘多年,不仅运维能力强,而且善于总结乐于分享,也是 GOPS 全球运维大会金牌讲师。我和余何兄最开始是在圈子中互 相关注,之后在一次论坛上偶遇,一番交流下来,一拍即合,一同走上了追求快乐 运维的道路。我们的共识是“一起愉快地玩耍”,让运维变得更加轻松,让运维人 员更加健康地生活。
但凡一个好的产品,都是从 0 到 1,而不是从 0 到无穷、从 0 到包罗万象,这 其中的道理就是专注。专注于做好一件事,提供稳定兼容的接口,这就是一个好产 品的伊始。在运维平台领域,由于其需求范围广、组织差异大,很难有那么一个产 品能够满足一切,而短时间满足一切又很可能意味着 bug 多多,因此,我们应该问 自己,你到底需要什么?
刚好,Mesos 就是这样一个产品 :专注于做好一件事,专注于资源管理。关于 其上的应用任务调度,无论是服务、批处理还是大数据,它都提供了稳定而兼容的 接口,从而让用户在其上按照自己的需求,不断迭代实现,最后形成自己的产品。 其在提高集群资源利用率,服务自动化部署等方面的表现,尤其令人称赞。
希望余何兄组织翻译的本书,能得到您的喜爱,为 Mesos 在中国的继续壮大添 砖加瓦。为了我们共同的运维事业,一起加油!
萧田国 高效运维社区发起人开放运维联盟主席 国内第一个 DevOps Master
推荐序三
我一直在关注国内 IT 运维的发展,在不同的业务领域、企业规模下,运维的标
准与规则参差不齐,真正掌握运维真知的人绝不仅意味着玩转创新技术、流行框架, 更重要的是如何真正解决企业问题,如何保证落地与实现。国内第一本 PaaS 原创 畅销书作者“众生的大师兄”余何有着十多年运维实战经验,经历了中国运维发展 的各个阶段,在电信、金融以及物流领域都有所耕耘,今天由他领衔翻译的《Mesos 实战》同样保持了高水准,相信一定会广受欢迎。
Mesos 并没有什么吸引眼球的华丽外表,在起步阶段由于具备一定门槛,同时 效能只能在具备一定规模后才能体现,因此一直没有快速地在运维领域流行起来。 倒是 OpenStack 借助云计算概念、K8s 背靠谷歌这个亲爹在社区内刮起了一股大的 旋风,回头再来看看近几年商业化的过度炒作,连一向低调的运维领域也产生了泡 沫。回到问题的本身,为什么要使用 Mesos,我会站在和译者一样的角度考虑,我 们必须考虑绕不过的环节,上层的应用,我们需要对遗留应用架构系统进行兼容吗? 需要。Mesos 是一个通用性资源管理框架,能够适配各种计算类型的服务,正因为 如此,向上的任务调度才稍显复杂,为了做好兼容,我们必须做更多工作。
资源管理策略 Dominant Resource Fairness(DRF) 是 Mesos 的核心,是将 Mesos 比作分布式系统 Kernel 的根本所在。Mesos 能够保证集群内所有用户都能够平等 地使用集群内资源,这里的资源包括 CPU、内存、磁盘等。在通用性方面,Mesos只负责提供资源给上层任务调度 framework,而不负责具体任务管理,于是可让各种类型计算任务使用集群资源。关于准入门槛,如果仅部署一套 Mesos,我们几乎 什么也干不了,为了使用好它,我们需要不同的 Mesos framework,像 Marathon, chronos 等 , 在特殊场景下,甚至需要开发自己的 framework,除此之外磁盘、网络 等问题也需要着重考虑。如果没有强大的意志力,初学者大多会望而却步。还好有“众 生的大师兄”这样一位谆谆不倦的运维发展践行者,带着对运维未来美好发展的憧 憬,坚持不懈的推行运维理念与实践,我也希望本书能够帮助 Mesos 在运维社区中 快速流行与成熟,大家都能有所贡献与分享,真正解决我们企业内部遇到的运维问 题。
肖力 云技术社区创始人
译者序
云计算时代,对开源产品的选择,很容易陷入一个误区,用商业化方式进行判断,选择最“热门畅销”的产品,而忽视了自身需求及组织能力,从而导致目标的 偏离。2014 年,我与小伙伴们开始考察一系列平台产品并进行研究,当时我们的需 求很明确,提升资源利用率与运维效率,没有其他(专注,专注,再专注)。我们 的组织能力也很明确,深入理解操作系统,能够像使用黑魔法一样改变操作系统的 行为,具有工程设计能力,能很快地驯服与改造各种开源产品。基于以上两点,经 历了一段考察期后,我们最终选择了 Mesos。
Mesos 很难让人一下子就亲近,她绝不是让你一见钟情的那种,她没有华丽外 表让你如痴如醉,也没有什么直接功能让你耍酷摆炫,你需要花很长一段时间去理 解她,你需要有应用场景,有资源节约型需求,有大规模机器集群管理,有多种计 算类型,之后在不断的运用中,才慢慢发现 Mesos 的奥妙之处,一步步坠入到她的 爱河中。Mesos 专注于数据中心资源管理,专注于做好一件事,干净、简洁,如同 操作系统内核一样,它是数据中心资源管理的 Kernel。
很多人问我 Mesos 是否可以解决运维领域的可靠性问题、资源管理问题,从此 天下太平、安枕无忧,作者在书中也有一点这种态度。但很遗憾,实际运维环境是 相当复杂的,这种神一样的工具几乎不可能存在。不同的管理结构有着不同的权限 层级,不同的应用类型有着不同的服务级别,不同的组织环境有着不同的流程规范,一言以蔽之,没有什么固定的工具可以解决不断变化的运维问题。要保持运维水平的不断提升,最后发现这是一个组织行为学问题,是理念、人、 流程、工具的结合体。组织的理念是什么?人的专业要求有哪些?对人的投入有哪 些?组织理念文化又是如何影响着人,匹配的流程与工具又是什么?是这一切决定 了最终的运维水平。精益思想对运维理念是一种启示,工程师文化强调了所需要的 人才,ITIL 是运维流程上的最佳实践,工具则是连接人与流程的桥梁。Mesos 能否 在企业发挥最大效应,看的不是 Mesos,而是组织自身。
余何
2016.11 于深圳软件产业基地

如果你想看到一个人抓狂的样子,你可以走到一个在数据中心手动配置并供应数十台服务器的人面前,然后说道 :“哇!持续追踪在那些机器运行了什么东西,肯 定非常容易,也非常好玩。”或者找一个身上常年带着传呼机以便响应服务器中断的人,并说 :“这听起来 像一份毫无压力的工作呀。至少它保证你夜晚能睡个好觉。”
当然,事实上,管理服务器和其他数据中心基础架构一直以来都很困难和沉闷, 给负责配置这些机器并响应机器故障的可怜男女带来了无数个不眠之夜。由于过去20 年来公司越来越依赖于信息技术,经常会在每个服务器(或近些年的虚拟机)上 配备一个应用程序,因此实际操作变得越来越困难。服务器数量动辄从一位数升级 到两位数,有时甚至上升到三位数。
接着由 Google、Facebook 和 Twitter 等热门服务助燃的互联网呈爆炸式增长。 由数以十亿计的智能手机、平板和其他设备助燃的移动互联网也立刻随后跟上。在 任何特定时间里,数以百万计的用户可能同时在一个网站或 APP 中,而旧式计算技 术无法再切入这样的世界。
在数据中心内,单一服务器的数据库(甚至所有单一服务器的服务)很快被分 布式系统取代,其能以之前无法想象的容量来处理数据和流量。复杂庞大的应用程 序也经常被微服务取代——把多组单一用途的服务分开管理,接着通过 API 进行连接,最终构造成用户端的应用。虽然伸缩性提升了,但构建这些系统的学习曲线和管理系统复杂性也都随之提升。
Google 有个极好的方法,即在它自己的数据中心内使用一个叫 Borg 的系统来 解决这个问题,表面上让大多数员工——如系统管理员和开发者——像管理一台大 计算机的方式来管理数以万计的服务器。在 Borg 简化 Google 的操作几年后,开源 的 Apache Mesos 项目粉墨登场并以相似的方式改变了其用户的生活。忽然之间,部 署、运行和管理复杂分布式系统的过程变得非常简单。所有东西共享同样的机器组, 而 Mesos 只需要轻松处理跑腿活儿——以可用的资源来匹配工作负载的需求。
最初我是作为一名 Twitter 的软件工程师来亲身体验这第一手转变的,在那 里 Mesos 帮助攻克难堪的“失败之鲸”(fail whale,Twitter 服务宕机标志)并帮助 Twitter 达到伸缩性和可靠性的新高度。当 2012 年我到 Airbnb 工作时,它还只是一 家建立了 4 年的创业公司,Mesos 又一次帮助我们的基础架构随着用户基数扩大成 长——但是并不包括它的复杂性。Mesos 和其前景深深触动了我,于是我决定建立 Mesosphere 这个公司,致力于让 Mesos 为主流企业所用。
随着 Mesos 趋于热门和 Mesosphere 的扩张,我们把目标设为雇用最好的 Mesos 工程师和从业者。当我们看到 Roger Ingnazio 在 Pupet 实验室建立一个基于 Mesos 的持续集成平台的工作成果时,我们知道我们必须拥有它。在知名公司运行可伸缩 的生产系统是非常宝贵的经验,而且自从加入 Mesosphere 后,Roger 的经验给我们 基于 Mesos 的数据中心操作系统技术和我们的用户体验带来很多帮助。
Roger 的《Mesos 实战》让对 Mesos 和其技术生态系统感兴趣的人皆受益于他 的 经 验。 这 本 书 是 运 行 Mesos 集 群 和 安 装 你 的 第 一 个 framework( 计 算 框 架 ) 的 极佳指导,它同时也探索了更高级的主题,例如掌握强大的 Mesos framework(包 括容器编排用的 Marathon 和大数据分析用的 Spark),甚至包括构建你自己的 framework。
无论你是在准备部署 Mesos,还是你已经运行了它,并想进一步提升你的知识, 你都难以找到一个比 Roger 更好的导师,或者一本比《Mesos 实战》更好的书。
FLORIAN LEIBERT Mesosphere 联合创始人、CEO
自序
Benjamin Hindman 主导的团队于 2009 年在加州大学伯克利分校创立了 Apache
Mesos 这个研究项目。Ben 和他的团队想要通过允许多个应用共享一个单一的计算 集群来提升数据中心的效率,就像多个应用可以在你的笔记本或工作站共享处理 器、内存和硬盘驱动器一样。但他们想要在由许多服务器组成的现代数据中心上实 现这个想法。经过 10000 行 C++ 代码的最初实现后,他们在 2010 年发布了一篇论 文《Mesos :一个数据中心内部细粒度资源共享平台》(Mesos:A Platform for Fine- Grained Resource Sharing in the Data Center)。
没过多久,Ben 加入 Twitter 并使用 Mesos 来更好地扩展其基础架构,终结了 Twitter 难堪的“fail whale”时期——成名后 Twitter 的服务器处理能力跟不上用户的 需求增长。虽然 Twitter 没有公开披露其庞大基础架构中的服务器数量,但根据其展 示的在线资源和第一手资料,这个数量大约在每个集群有 10000 个 Mesos 节点。
2010 年 12 月,Mesos 项目进入 Apache 孵化器,作为 Apache 软件基金会的分支, 使得项目获得 ASF 付出的全面支持。Apache Mesos 项目于 2013 年 6 月从孵化器中 得以完善,现在已经是一个高等级的项目。
2013 年,Ben 和 Florian Leibert 及 Tobi Knaup 一起创立了 Mesosphere 公 司。 Mesosphere 的旗舰产品,数据中心操作系统(DCOS),通过为那些想要像 Airbnb、 Apple 和 Net?ix 一样轻易地使用 Mesos 来部署应用和扩展基础架构的企业提供全方位解决方案,将开源项目成功地商业化。Mesos 持续成为开源 Mesos 项目的主要贡献者,并为开源社区提供 Mesos 安装包和工具。
我对于 Mesos 生态系统和大规模基础架构的初次涉足始于 2014 年,那时我开 始想要使用 Mesos 在多个 Jenkins(热门的持续集成框架)实例之间共享资源。其时, Mesos 看起来像是留给那些已经知晓它的人去使用的,因为虽然那时有大量可用的 线上资源,但是很难被找到,而且没有一个权威可信的来源。彼时也没有任何书籍 涉及 Mesos。我写了几篇关于我的工作经验的博客,其他人看起来好像跟我一样 : 对这个项目都想了解多一些,但不知道从何入手。
2015 年 1 月,Manning 出版社找到我并问我是否有兴趣写一本关于 Mesos 的书。 我之前从未写过书,这个请求一开始让我有点不知所措。但我也把它当作一个好机 会来写一本工具书,因为当我刚开始使用 Mesos 时,我确实希望拥有这么一本书来 指导我。幸运的是,Manning 的团队给我这份自由来实现这个想法。
希望你在使用《Mesos 实战》的过程中,能发现它是一个部署和管理 Mesos 集 群和提升你基础架构整体效率的宝贵资源,而且它能够帮助你的团队或你的客户更 快捷便利地部署应用到生产中。
Roger Ignazio 于美国俄勒冈州,波特兰



目录

第 1 部分 你好,Mesos ................................................... 1
1 初识 Mesos .............................................................................. 3
1.1 遇见 Mesos ......................................................................................................... 4
1.1.1 理解它如何工作 .................................................................................... 5
1.1.2 虚拟机和容器的比较 ............................................................................ 7
1.1.3 知道何时及为何使用 Mesos................................................................. 9
1.2 为什么我们要重新思考数据中心 .................................................................. 10
1.2.1 资源划分 .............................................................................................. 11
1.2.2 应用部署 .............................................................................................. 12
1.3 Mesos 分布式架构 ........................................................................................... 13
1.3.1 masters .................................................................................................. 13
1.3.2 slaves .................................................................................................... 14
1.3.3 frameworks ........................................................................................... 15
1.4 小结 .................................................................................................................. 15
2 使用 Mesos 管理数据中心资源 .................................................17
2.1 Spark 简要介绍 ................................................................................................ 18
2.1.1 独立集群上的 Spark............................................................................ 18
2.1.2 Mesos 上的 Spark ................................................................................ 19
2.2 在 Mesos 上运行 Spark job ............................................................................. 21
2.2.1 在集合中寻找素数 .............................................................................. 22
2.2.2 获取与打包代码 .................................................................................. 23
2.2.3 提交作业 .............................................................................................. 24
2.2.4 观察输出 .............................................................................................. 24
2.3 进一步探索 ...................................................................................................... 26
2.3.1 Mesos UI .............................................................................................. 26
2.3.2 Spark UI................................................................................................ 26
2.4 小结 .................................................................................................................. 28
第 2 部分 Mesos 核心.................................................... 31
3 安装 Mesos ............................................................................33
3.1 部署 Mesos ....................................................................................................... 34
3.1.1 Mesos 集群组件................................................................................... 34
3.1.2 开发环境的注意事项 .......................................................................... 35
3.1.3 生产环境的注意事项 .......................................................................... 36
3.2 安装 Mesos 和 ZooKeeper ............................................................................... 38
3.2.1 使用安装包部署 .................................................................................. 38
3.2.2 从源文件编译并安装 .......................................................................... 40
3.3 配置 Mesos 和 ZooKeeper ............................................................................... 43
3.3.1 ZooKeeper 配置 ................................................................................... 43
3.3.2 Mesos 配置........................................................................................... 45
3.4 安装并配置 Docker.......................................................................................... 50
3.4.1 安装 Docker ......................................................................................... 51
3.4.2 配置 Docker ......................................................................................... 53
3.4.3 配置 Docker 专用的 Mesos slaves ...................................................... 54
3.5 升级 Mesos ....................................................................................................... 54
3.5.1 升级 Mesos masters ............................................................................. 55
3.5.2 升级 Mesos slaves ................................................................................ 55
3.6 小结 .................................................................................................................. 56
4 Mesos 原理 ............................................................................57
4.1 调度和分配数据中心资源 .............................................................................. 57
4.1.1 理解资源调度 ...................................................................................... 58
4.1.2 理解资源分配 ...................................................................................... 59
4.1.3 定制 Mesos slave 资源和属性 ............................................................ 61
4.2 使用容器隔离资源 .......................................................................................... 62
4.2.1 隔离并监控 CPU、内存和磁盘 ......................................................... 63
4.2.2 网络监控和限速 .................................................................................. 65
4.3 了解容错和高可用 .......................................................................................... 68
4.3.1 容错 ...................................................................................................... 70
4.3.2 高可用 .................................................................................................. 70
4.3.3 处理出错和升级 .................................................................................. 70
4.4 小结 .................................................................................................................. 76
5 日志记录和调试 .....................................................................77
5.1 理解和配置 Mesos 日志记录 .......................................................................... 78
5.1.1 日志文件的路径和解释 ...................................................................... 78
5.1.2 配置日志记录 ...................................................................................... 80
5.2 调试 Mesos 集群及其任务 .............................................................................. 81
5.2.1 使用 Mesos Web 接口 ......................................................................... 82
5.2.2 使用内置命令行工具 .......................................................................... 89
5.2.3 使用 Mesosphere 的 mesos-cli 工具 ................................................... 90
5.3 小结 .................................................................................................................. 92

6 生产环境中的 Mesos ...............................................................93
6.1 监控 Mesos 和 Zookeeper 集群....................................................................... 94
6.1.1 监控 Mesos master ............................................................................... 94
6.1.2 监控 Mesos slave ................................................................................. 96
6.1.3 监控 ZooKeeper ................................................................................... 97
6.2 修改 Mesos master 的法定数目 ...................................................................... 99
6.2.1 添加 master 节点 ............................................................................... 100
6.2.2 移除 master 节点 ............................................................................... 100
6.2.3 替换 master 节点 ............................................................................... 101
6.3 安全和权限控制的实施 ................................................................................ 101
6.3.1 Slave 和 framework 的身份认证....................................................... 102
6.3.2 用户授权和访问控制列表 ................................................................ 104
6.3.3 framework 速率限制.......................................................................... 107
6.4 小结 ................................................................................................................ 110
第 3 部分 运行 Mesos................................................... 113
7 使用 Marathon 部署应用 ....................................................... 115
7.1 了解 Marathon................................................................................................ 115
7.1.1 探索 Marathon 的 Web 接口和 API .................................................. 117
7.1.2 服务发现和路由 ................................................................................ 118
7.2 部署 Marathon 和 HAProxy .......................................................................... 121
7.2.1 安装并配置 Marathon........................................................................ 121
7.2.2 安装并配置 HAProxy........................................................................ 124
7.3 创建并伸缩应用 ............................................................................................ 127
7.3.1 部署简单的应用 ................................................................................ 127
7.3.2 部署 Docker 容器 .............................................................................. 130
7.3.3 执行健康检查和滚动应用更新 ........................................................ 131
7.4 创建应用组 .................................................................................................... 134
7.4.1 理解应用组的构成 ............................................................................ 134
7.4.2 部署应用组 ........................................................................................ 135
7.5 日志和调试 .................................................................................................... 137
7.5.1 配置 Marathon 日志........................................................................... 137
7.5.2 调试 Marathon 应用和任务............................................................... 138
7.6 小结 ................................................................................................................ 140
8 使用 Chronos 管理计划任务 .................................................. 143
8.1 了解 Chronos.................................................................................................. 144
8.1.1 探索 Chronos 的 Web 接口和 API .................................................... 145
8.2 安装并配置 Chronos...................................................................................... 147
8.2.1 先决条件的检验 ................................................................................ 147
8.2.2 安装 Chronos...................................................................................... 148
8.2.3 配置 Chronos...................................................................................... 149
8.3 使用简单的作业来工作 ................................................................................ 150
8.3.1 创建基于计划的作业 ........................................................................ 150
8.3.2 使用 Docker 创建基于计划的作业 .................................................. 153
8.4 使用复杂的作业来工作 ................................................................................ 155
8.4.1 组合基于计划和基于依赖的作业 .................................................... 155
8.4.2 形象化作业的依赖关系 .................................................................... 158
8.5 监控 Chronos 作业的输出和状态................................................................. 159
8.5.1 作业失败事件的通知和监控 ............................................................ 159
8.5.2 通过 Mesos 观察作业的标准输出和标准错误................................ 161
8.6 小结 ................................................................................................................ 162
9 使用 Aurora 部署应用和管理计划任务 .................................... 165
9.1 Aurora 简介 .................................................................................................... 166
9.1.1 Aurora 调度器 .................................................................................... 167
9.1.2 Thermos 执行器和观察者 ................................................................. 167
9.1.3 Aurora 的用户和管理员客户端 ........................................................ 168
9.1.4 Aurora DSL(Domain-Speci?c Language,特定领域语言)........... 169
9.2 部署 Aurora .................................................................................................... 169
9.2.1 在开发环境尝试 Aurora.................................................................... 170
9.2.2 构建和安装 Aurora............................................................................ 171
9.2.3 配置 Aurora........................................................................................ 174
9.3 部署应用 ........................................................................................................ 178
9.3.1 部署一个简单的应用 ........................................................................ 179
9.3.2 部署基于 Docker 的应用 .................................................................. 182
9.4 管理计划任务 ................................................................................................ 184
9.4.1 创建 Cron 作业 .................................................................................. 184
9.4.2 创建基于 Docker 的 Cron 作业 ........................................................ 185
9.5 管理 Aurora .................................................................................................... 187
9.5.1 管理用户和配额 ................................................................................ 187
9.5.2 执行维护 ............................................................................................ 189
9.6 小结 ................................................................................................................ 190
10 framework 开发 ................................................................ 191
10.1 framework 基础............................................................................................ 192
10.1.1 编写 framework 的时机和缘由....................................................... 194
10.1.2 调度器的实现 .................................................................................. 194
10.1.3 执行器的实现 .................................................................................. 197
10.2 调度器开发 .................................................................................................. 201
10.2.1 使用调度器 API............................................................................... 202
10.2.2 使用 SchedulerDriver....................................................................... 204
10.3 执行器开发 .................................................................................................. 205
10.3.1 使用执行器 API............................................................................... 205
10.3.2 使用执行器驱动程序 ...................................................................... 207
10.4 运行 framework............................................................................................ 208
10.4.1 在开发环境中部署 .......................................................................... 208
10.4.2 生产环境部署的注意事项 .............................................................. 210
10.5 小结 .............................................................................................................. 211
附录 A 案例研究 :Mesosphere DCOS,企业版 Mesos 分布式集群.. 213
附录 B Mesos 框架与工具的列表 ................................................. 225

读者评论

相关博文

  • 用Mesos分布式架构进行工作

    用Mesos分布式架构进行工作

    管理员账号 2017-06-01

    小编说:2010年,一个旨在解决扩容问题的项目诞生——Apache Mesos,它在某种程度上对CPU、内存、磁盘资源进行抽象,从而允许整个数据中心如同单台大服务器般运转。无需虚拟机和操作系统,Mesos创造了一个单独底层的集群为应用提...

    管理员账号 2017-06-01
    602 0 0 0

相关图书

Kubernetes源码剖析

郑东旭 (作者)

本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码...

 

Kubernetes in Action中文版

Marko Luksa (作者) 李雪瓅 (译者)

本书主要讲解如何在 Kubernetes 中部署分布式容器应用。本书开始部分概要介绍了 Docker 和Kubernetes 的由来和发展,然后通过在 Kube...

¥148.00

Docker微服务架构实战

蒋彪 (作者)

微服务与Docker 是近年来分布式大规模服务架构中两个主流的技术趋势,本书主要介绍中小型企业在架构落地过程中柔性地切入微服务和Docker 虚拟化的各种方法。...

¥39.00

Kubernetes容器云运维实战

闫健勇 (作者)

本书是基于《Kubernetes权威指南:从Docker到Kubernetes实践全接触》进行企业级容器云平台建设的实战指南,力图对容器云平台的建设、应用和运营...

¥89.00

Java云原生

Josh Long, Kenny Bastani (作者) 张若飞 (译者)

无论是传统IT行业,还是互联网行业,都正处于行业历史上最剧烈的变革中 :大量的系统正在从传统的IT架构转向基于云的架构, 开发模式也正在从开发和运维分工的传统模...

¥128.00

生产微服务

Susan Fowler (作者) 薛命灯 (译者)

本书全面地探讨了微服务,作者从运行超过一千个微服务的高生产准备标准中获取经验,探讨了适用所有微服务的标准,分享了使微服务处于生产就绪状态的策略,为读者展现出一个...

¥35.00