内容简介
第1部分 你好,Mesos
1 初识Mesos
1.1 遇见Mesos
1.1.1 理解它如何工作
1.1.2 虚拟机和容器的比较
1.1.3 知道何时及为何使用Mesos
1.2 为什么我们要重新思考数据中心
1.2.1 资源划分
1.2.2 应用部署
1.3 Mesos分布式架构
1.3.1 masters
1.3.2 slaves
1.3.3 frameworks
1.4 小结
2 使用Mesos管理数据中心资源
2.1 Spark简要介绍
2.1.1 独立集群上的Spark
2.1.2 Mesos上的Spark
2.2 在Mesos上运行Spark job
2.2.1 在集合中寻找素数
2.2.2 获取与打包代码
2.2.3 提交作业
2.2.4 观察输出
2.3 进一步探索
2.3.1 Mesos UI
2.3.2 Spark UI
2.4 小结
第2部分 Mesos核心
3 安装Mesos
3.1 部署Mesos
3.1.1 Mesos集群组件
3.1.2 开发环境的注意事项
3.1.3 生产环境的注意事项
3.2 安装Mesos和ZooKeeper
3.2.1 使用安装包部署
3.2.2 从源文件编译并安装
3.3 配置Mesos和ZooKeeper
3.3.1 ZooKeeper配置
3.3.2 Mesos配置
3.4 安装并配置Docker
3.4.1 安装Docker
3.4.2 配置Docker
3.4.3 配置Docker专用的Mesos slaves
3.5 升级Mesos
3.5.1 升级Mesos masters
3.5.2 升级Mesos slaves
3.6 小结
4 Mesos原理
4.1 调度和分配数据中心资源
4.1.1 理解资源调度
4.1.2 理解资源分配
4.1.3 定制Mesos slave资源和属性
4.2 使用容器隔离资源
4.2.1 隔离并监控CPU、内存和磁盘
4.2.2 网络监控和限速
4.3 了解容错和高可用
4.3.1 容错
4.3.2 高可用
4.3.3 处理出错和升级
4.4 小结
5 日志记录和调试
5.1 理解和配置Mesos日志记录
5.1.1 日志文件的路径和解释
5.1.2 配置日志记录
5.2 调试Mesos集群及其任务
5.2.1 使用Mesos Web接口
5.2.2 使用内置命令行工具
5.2.3 使用Mesosphere的mesos-cli工具
5.3 小结
6 生产环境中的Mesos
6.1 监控Mesos和Zookeeper集群
6.1.1 监控Mesos master
6.1.2 监控Mesos slave
6.1.3 监控ZooKeeper
6.2 修改Mesos master的法定数目
6.2.1 添加master节点
6.2.2 移除master节点
6.2.3 替换master节点
6.3 安全和权限控制的实施
6.3.1 Slave和framework的身份认证
6.3.2 用户授权和访问控制列表
6.3.3 framework速率限制
6.4 小结
第3部分 运行Mesos
7 使用Marathon部署应用
7.1 了解Marathon
7.1.1 探索Marathon的Web接口和API
7.1.2 服务发现和路由
7.2 部署Marathon和HAProxy
7.2.1 安装并配置Marathon
7.2.2 安装并配置HAProxy
7.3 创建并伸缩应用
7.3.1 部署简单的应用
7.3.2 部署Docker容器
7.3.3 执行健康检查和滚动应用更新
7.4 创建应用组
7.4.1 理解应用组的构成
7.4.2 部署应用组
7.5 日志和调试
7.5.1 配置Marathon日志
7.5.2 调试Marathon应用和任务
7.6 小结
8 使用Chronos管理计划任务
8.1 了解Chronos
8.1.1 探索Chronos的Web接口和API
8.2 安装并配置Chronos
8.2.1 先决条件的检验
8.2.2 安装Chronos
8.2.3 配置Chronos
8.3 使用简单的作业来工作
8.3.1 创建基于计划的作业
8.3.2 使用Docker创建基于计划的作业
8.4 使用复杂的作业来工作
8.4.1 组合基于计划和基于依赖的作业
8.4.2 形象化作业的依赖关系
8.5 监控Chronos作业的输出和状态
8.5.1 作业失败事件的通知和监控
8.5.2 通过Mesos观察作业的标准输出和标准错误
8.6 小结
9 使用Aurora部署应用和管理计划任务
9.1 Aurora简介
9.1.1 Aurora调度器
9.1.2 Thermos执行器和观察者
9.1.3 Aurora的用户和管理员客户端
9.1.4 Aurora DSL(Domain-Specific Language,特定领域语言)
9.2 部署Aurora
9.2.1 在开发环境尝试Aurora
9.2.2 构建和安装Aurora
9.2.3 配置Aurora
9.3 部署应用
9.3.1 部署一个简单的应用
9.3.2 部署基于Docker的应用
9.4 管理计划任务
9.4.1 创建Cron作业
9.4.2 创建基于Docker的Cron作业
9.5 管理Aurora
9.5.1 管理用户和配额
9.5.2 执行维护
9.6 小结
10 framework开发
10.1 framework基础
10.1.1 编写framework的时机和缘由
10.1.2 调度器的实现
10.1.3 执行器的实现
10.2 调度器开发
10.2.1 使用调度器API
10.2.2 使用SchedulerDriver
10.3 执行器开发
10.3.1 使用执行器API
10.3.2 使用执行器驱动程序
10.4 运行framework
10.4.1 在开发环境中部署
10.4.2 生产环境部署的注意事项
10.5 小结
附录A 案例研究:Mesosphere DCOS,企业版Mesos分布式集群
附录B Mesos框架与工具的列表