《Hadoop技术内幕深入解析YARN架构设计与实现原理》
《Hadoop技术内幕:深入解析YARN架构设计与实现原理》是“Hadoop技术内幕”系列的第3本书,前面两本分别对Common、HDFS和MapReduce进行了深入分析和讲解,赢得了极好的口碑,Hadoop领域几乎人手一册,本书则对YARN展开了深入的探讨,是首部关于YARN的专著。仍然由资深Hadoop技术专家董西成执笔,根据的Hadoop 2.0版本撰写,权威社区ChinaHadoop鼎力推荐。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
| 目录
《Hadoop技术内幕:深入解析YARN架构设计与实现原理》
前 言
第一部分 准备篇
第1章 环境准备 2
1.1 准备学习环境 2
1.1.1 基础软件下载 2
1.1.2 如何准备Linux环境 3
1.2 获取Hadoop源代码 5
1.3 搭建Hadoop源代码阅读环境 5
1.3.1 创建Hadoop工程 5
1.3.2 Hadoop源代码阅读技巧 8
1.4 Hadoop源代码组织结构 10
1.5 Hadoop初体验 12
1.5.1 搭建Hadoop环境 12
1.5.2 Hadoop Shell介绍 15
1.6 编译及调试Hadoop源代码 16
1.6.1 编译Hadoop源代码 17
1.6.2 调试Hadoop源代码 18
1.7 小结 20
第2章 YARN设计理念与基本架构 21
2.1 YARN产生背景 21
2.1.1 MRv1的局限性 21
2.1.2 轻量级弹性计算平台 22
2.2 Hadoop基础知识 23
2.2.1 术语解释 23
2.2.2 Hadoop版本变迁 25
2.3 YARN基本设计思想 29
2.3.1 基本框架对比 29
2.3.2 编程模型对比 30
2.4 YARN 基本架构 31
2.4.1 YARN基本组成结构 32
2.4.2 YARN通信协议 34
2.5 YARN工作流程 35
2.6 多角度理解YARN 36
2.6.1 并行编程 36
2.6.2 资源管理系统 36
2.6.3 云计算 37
2.7 本书涉及内容 38
2.8 小结 38
第二部分 YARN核心设计篇
第3章 YARN基础库 40
3.1 概述 40
3.2 第三方开源库 41
3.2.1 Protocol Buffers 41
3.2.2 Apache Avro 43
3.3 底层通信库 46
3.3.1 RPC通信模型 46
3.3.2 Hadoop RPC的特点概述 48
3.3.3 RPC总体架构 48
3.3.4 Hadoop RPC使用方法 49
3.3.5 Hadoop RPC类详解 51
3.3.6 Hadoop RPC参数调优 57
3.3.7 YARN RPC实现 57
3.3.8 YARN RPC应用实例 61
3.4 服务库与事件库 65
3.4.1 服务库 66
3.4.2 事件库 66
3.4.3 YARN服务库和事件库的使用方法 68
3.4.4 事件驱动带来的变化 70
3.5 状态机库 72
3.5.1 YARN状态转换方式 72
3.5.2 状态机类 73
3.5.3 状态机的使用方法 73
3.5.4 状态机可视化 76
3.6 源代码阅读引导 76
3.7 小结 77
3.8 问题讨论 77
第4章 YARN应用程序设计方法 78
4.1 概述 78
4.2 客户端设计 79
4.2.1 客户端编写流程 80
4.2.2 客户端编程库 84
4.3 ApplicationMaster设计 84
4.3.1 ApplicationMaster编写流程 84
4.3.2 ApplicationMaster编程库 92
4.4 YARN 应用程序实例 95
4.4.1 DistributedShell 95
4.4.2 Unmanaged AM 99
4.5 源代码阅读引导 100
4.6 小结 100
4.7 问题讨论 100
第5章 ResourceManager剖析 102
5.1 概述 102
5.1.1 ResourceManager基本职能 102
5.1.2 ResourceManager内部架构 103
5.1.3 ResourceManager事件与事件处理器 106
5.2 用户交互模块 108
5.2.1 ClientRMService 108
5.2.2 AdminService 109
5.3 ApplicationMaster管理 109
5.4 NodeManager管理 112
5.5 Application管理 113
5.6 状态机管理 114
5.6.1 RMApp状态机 115
5.6.2 RMAppAttempt状态机 119
5.6.3 RMContainer状态机 123
5.6.4 RMNode状态机 127
5.7 几个常见行为分析 129
5.7.1 启动ApplicationMaster 129
5.7.2 申请与分配Container 132
5.7.3 杀死Application 134
5.7.4 Container超时 135
5.7.5 ApplicationMaster超时 138
5.7.6 NodeManager超时 138
5.8 安全管理 139
5.8.1 术语介绍 139
5.8.2 Hadoop认证机制 139
5.8.3 Hadoop授权机制 142
5.9 容错机制 144
5.9.1 Hadoop HA基本框架 145
5.9.2 YARN HA实现 148
5.10 源代码阅读引导 149
5.11 小结 151
5.12 问题讨论 152
第6章 资源调度器 153
6.1 资源调度器背景 153
6.2 HOD调度器 154
6.2.1 Torque资源管理器 154
6.2.2 HOD作业调度 155
6.3 YARN资源调度器的基本架构 157
6.3.1 基本架构 157
6.3.2 资源表示模型 160
6.3.3 资源调度模型 161
6.3.4 资源抢占模型 164
6.4 YARN层级队列管理机制 169
6.4.1 层级队列管理机制 169
6.4.2 队列命名规则 171
6.5 Capacity Scheduler 172
6.5.1 Capacity Scheduler的功能 172
6.5.2 Capacity Scheduler实现 176
6.6 Fair Scheduler 179
6.6.1 Fair Scheduler功能介绍 180
6.6.2 Fair Scheduler实现 182
6.6.3 Fair Scheduler与Capacity Scheduler对比 183
6.7 其他资源调度器介绍 184
6.8 源代码阅读引导 185
6.9 小结 186
6.10 问题讨论 187
第7章 NodeManager剖析 188
7.1 概述 188
7.1.1 NodeManager基本职能 188
7.1.2 NodeManager内部架构 190
7.1.3 NodeManager事件与事件处理器 193
7.2 节点健康状况检测 194
7.2.1 自定义Shell脚本 194
7.2.2 检测磁盘损坏数目 196
7.3 分布式缓存机制 196
7.3.1 资源可见性与分类 198
7.3.2 分布式缓存实现 200
7.4 目录结构管理 203
7.4.1 数据目录管理 203
7.4.2 日志目录管理 203
7.5 状态机管理 206
7.5.1 Application状态机 207
7.5.2 Container状态机 210
7.5.3 LocalizedResource状态机 213
7.6 Container生命周期剖析 214
7.6.1 Container资源本地化 214
7.6.2 Container运行 218
7.6.3 Container资源清理 222
7.7 资源隔离 224
7.7.1 Cgroups介绍 224
7.7.2 内存资源隔离 228
7.7.3 CPU资源隔离 230
7.8 源代码阅读引导 234
7.9 小结 235
7.10 问题讨论 236
第三部分 计算框架篇
第8章 离线计算框架MapReduce 238
8.1 概述 238
8.1.1 基本构成 238
8.1.2 事件与事件处理器 240
8.2 MapReduce客户端 241
8.2.1 ApplicationClientProtocol协议 242
8.2.2 MRClientProtocol协议 243
8.3 MRAppMaster工作流程 243
8.4 MR作业生命周期及相关状态机 246
8.4.1 MR作业生命周期 246
8.4.2 Job状态机 249
8.4.3 Task状态机 253
8.4.4 TaskAttempt状态机 255
8.5 资源申请与再分配 259
8.5.1 资源申请 259
8.5.2 资源再分配 262
8.6 Container启动与释放 263
8.7 推测执行机制 264
8.7.1 算法介绍 265
8.7.2 推测执行相关类 266
8.8 作业恢复 267
8.9 数据处理引擎 269
8.10 历史作业管理器 271
8.11 MRv1与MRv2对比 273
8.11.1 MRv1 On YARN 273
8.11.2 MRv1与MRv2架构比较 274
8.11.3 MRv1与MRv2编程接口兼容性 274
8.12 源代码阅读引导 275
8.13 小结 277
8.14 问题讨论 277
第9章 DAG计算框架Tez 278
9.1 背景 278
9.2 Tez数据处理引擎 281
9.2.1 Tez编程模型 281
9.2.2 Tez数据处理引擎 282
9.3 DAG Master实现 284
9.3.1 DAG编程模型 284
9.3.2 MR到DAG转换 286
9.3.3 DAGAppMaster 288
9.4 优化机制 291
9.4.1 当前YARN框架存在的问题 291
9.4.2 Tez引入的优化技术 292
9.5 Tez应用场景 292
9.6 与其他系统比较 294
9.7 小结 295
第10章 实时/内存计算框架Storm/Spark 296
10.1 Hadoop M...
|
最后,这里为大家准备了几百本的互联网电子书,有需要的过来取吧。点击获取
本页书籍均来自网络,如有侵权,请联系我立即删除。我的邮箱:yaojianguolq@163.com