分享

每周一本书之《Mesos 实战》:提高集群资源利用率,服务自动化部署的好帮手!

 数据猿 2021-02-23
数据猿导读
 

云计算时代,对开源产品的选择,很容易陷入一个误区,用商业化方式进行判断,选择最“热门畅销”的产品,而忽视了自身需求及组织能力,从而导致目标的偏离。

作者:abby

如果你想看到一个人抓狂的样子,你可以走到一个在数据中心手动配置并供应数十台服务器的人面前,然后说道:“哇!持续追踪在那些机器运行了什么东西,肯定非常容易,也非常好玩。”

或者找一个身上常年带着传呼机以便响应服务器中断的人,并说:“这听起来像一份毫无压力的工作呀。至少它保证你夜晚能睡个好觉。”

当然,事实上,管理服务器和其他数据中心基础架构一直以来都很困难和沉闷,给负责配置这些机器并响应机器故障的可怜男女带来了无数个不眠之夜。由于过去 20年来公司越来越依赖于信息技术,经常会在每个服务器(或近些年的虚拟机)上配备一个应用程序,因此实际操作变得越来越困难。服务器数量动辄从一位数升级到两位数,有时甚至上升到三位数。

接着由 Google、Facebook和 Twitter等热门服务助燃的互联网呈爆炸式增长。由数以十亿计的智能手机、平板和其他设备助燃的移动互联网也立刻随后跟上。在任何特定时间里,数以百万计的用户可能同时在一个网站或 APP中,而旧式计算技术无法再切入这样的世界。

在数据中心内,单一服务器的数据库(甚至所有单一服务器的服务)很快被分布式系统取代,其能以之前无法想象的容量来处理数据和流量。复杂庞大的应用程序也经常被微服务取代——把多组单一用途的服务分开管理,接着通过 API进行连接,最终构造成用户端的应用。虽然伸缩性提升了,但构建这些系统的学习曲线和管理系统复杂性也都随之提升。

Google有个极好的方法,即在它自己的数据中心内使用一个叫Borg的系统来解决这个问题,表面上让大多数员工——如系统管理员和开发者——像管理一台大计算机的方式来管理数以万计的服务器。在 Borg简化 Google的操作几年后,开源的 Apache Mesos项目粉墨登场并以相似的方式改变了其用户的生活。忽然之间,部署、运行和管理复杂分布式系统的过程变得非常简单。所有东西共享同样的机器组,而 Mesos只需要轻松处理跑腿活儿——以可用的资源来匹配工作负载的需求。

今天小编就为大家推荐一本有关 Mesos的工具类书籍——《Mesos 实战》。

《Mesos实战》为读者介绍了Apache Mesos集群管理器及以应用程序为中心的基础架构概念。该书充满了有用的数据图表及实践指导,它将指引你迈出创建一个高可用的 Mesos集群的第一步,接着在生产环境中部署应用程序,最后编写适合自己数据中心的“本地” Mesos framework(计算框架)。你将学习到如何对数千个节点进行弹性伸缩,同时通过 Linux和 Docker容器保证不同的进程间能实现资源隔离。你也将学习到如何使用热门主流的 framework来部署应用程序的实践技术。

《Mesos 实战》包含的主要内容有:

搭建启动你的第一个 Mesos集群;

Mesos的调度、资源管理及日志记录;

使用 Marathon、Chronos和 Aurora部署容器化的应用程序;

使用 Python编写 Mesos framework。

阅读《Mesos 实战》的读者需要熟悉数据中心管理的核心理念,也需要了解 Python或者类似编程语言的基础知识。

本书从内容上可分为三个部分:

第1部分:介绍了 Apache Mesos项目,比较了容器和虚拟机的区别,并且展示了部署 Mesos集群的实际用例。

第1章介绍 Mesos项目,在本章中涵盖了全书的关键术语和组件,介绍了整个 Mesos架构,以及解释了在容器中部署应用与在传统数据中心部署的差别。

第2章基于第1章提供的介绍,在 Mesos集群中运行了一个 Apache Spark的数据处理作业。你将会看到实际运行在集群上的工作负载,以及观察该集群的行为。你也将会感受到 Mesos是如何通过允许多个应用程序共享集群资源,来提升数据中心利用率的。

第2部分:从各个细节回顾了 Mesos的基础原理,包含安装、配置、高可用及监控。

第3章提供了在自己服务器上部署 Mesos集群一应俱全的方法:无论服务器是在你自有的数据中心里还是运行在像 AWS或者 Azure的云上。你将会学习到如何安装和配置 ZooKeeper、Mesos和 Docker,并且在章节结尾时就能安装和运行一个高可用集群。

第4章回顾了 Mesos项目的基础原理,你将了解到 Mesos提供的扩展性、容错性、高可用性及资源隔离。

第5章讲述了 Mesos怎样处理日志记录及在问题发生时如何调试它们。在本章中,涵盖了包含 Mesos Web接口、 CLI命令行、日志文件位置以及日志记录配置等主题。

第6章涵盖了在生产环境中运行 Mesos的一些必要主题。它包含了监控 Mesos和 Zookeeper集群的信息,以及针对用户和 framework之类的安全及访问控制。

第3部分:介绍了 Mesos的实际使用。

第7章介绍了开源的 Marathon framework,它允许你通过简单地指定资源的数量及想要的实例数,在集群的 Linux和 Docker容器中部署应用和长期运行的服务。

第8章介绍了开源的 Chronos framework,它允许你在集群上使用 ISO 8601标准的时间戳部署计划作业。 Chronos允许作业根据时间表运行,或者允许它们依赖于其他的作业。同时 Chronos支持任务在 Linux及 Docker容器中运行。

第9章介绍了开源的 Apache Aurora framework,它类似于 Marathon和 Chronos,允许你在 Mesos集群上部署应用和计划作业。不同的是, Aurora开箱即用地支持多用户,以及需要匹配复杂的配置语言。

第10章讲述了 Mesos的 API,包含了一个如何开发自有的 Mesos应用程序的例子(使用 Python编写)。

本书由 数据猿联合电子工业出版社 共同推荐

【本栏目合作伙伴】:清华大学出版社、电子工业出版社、北京师范大学出版社、中国人民大学出版社。

更多“每周一本书”,可加作者Abby微信:wmh4178(请注明姓名、公司)交流

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多