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

《Mesos 实战》包含的主要内容有:搭建启动你的第一个 Mesos集群; Mesos的调度、资源管理及日志记录;应用 Marathon、Chronos和 Aurora部署容器化的应用程序;应用 Python编写 Mesos framework。阅读《Mesos 实战》的读者需要熟悉数据中心管理的核心理念,也需要了解 Python或者类似编程语言的基础知识。

目录

知识兔

第 1部分 你好,Mesos 1
1 初识 Mesos3
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部分 运行 Mesos113
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-Specifi 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

下载体验

请输入密码查看内容!

如何免费获取密码?

{donate}

 

点击下载