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