第 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
· · · · · · (
收起)