《Hadoop YARN权威指南》由YARN的建立和开发设计团体亲笔编写,Altiscale的CEO作序鼎力推荐,是应用HadoopYARN创建分布式系统、大数据的应用的权威手册。书里利用好几个案例,详解HadoopYARN的安装和管理,以协助客户应用YARN开展应用程序开发,并在YARN上运作除开MapReduce以外的新架构。
《Hadoop YARN权威指南》共12章,第1章讲述ApacheHadoopYARN造成和发展趋势的历史时间;第二章解读在每台设备(服务中心、网络服务器或笔记本)上迅速安装Hadoop2.0;第三章详细介绍ApacheHadoopYARN資源管理器;第四章简略详细介绍YARN部件的作用,协助阅读者刚开始深入了解YARN;第五章详尽解读YARN的安装方式 ,包含一个根据脚本制作的手动式安装,及其应用ApacheAmbari根据GUI的安装;第六章讲述对YARN集群的管理,涉及到一些基础的YARN管理情景,详细介绍怎样利用Nagios和Ganglia监控器集群,阐述对JVM的监控,并详细介绍Ambari的管理页面;第7章深层次研究YARN的构架,向阅读者展现YARN的內部工作中缘故;第八章深层次探讨Capacity生产调度器;第9章叙述根据目前MapReduce的程序运行怎样再次工作中及其利用YARN的优点;第10章根据建立一个JBossApplicationServer集群的全过程,讲述怎样搭建一个YARN程序运行;第11章叙述创建在YARN上的典型性实例程序流程distributedshell的应用和內部状况;第12章小结运作在YARN上的兴盛开源框架。最终出示六个附则,包含填补內容和编码免费下载、YARN的安装脚本制作、YARN管理脚本制作、Nagios模块、資源以及他信息内容、HDFS迅速参照。
目录
- 译者序
- 推荐序一
- 推荐序二
- 前 言
- 第1章 Apache Hadoop YARN:简明历史及基本原理 1
- 1.1 引言 1
- 1.2 Apache Hadoop 2
- 1.3 阶段0:Ad Hoc集群时期 3
- 1.4 阶段1:Hadoop on Demand 3
- 1.4.1 HOD世界中的HDFS 5
- 1.4.2 HOD的特色及优势 5
- 1.4.3 HOD的缺点 6
- 1.5 阶段2:共享计算集群的黎明 8
- 1.5.1 共享集群的演进 8
- 1.5.2 使用共享MapReduce集群的问题 13
- 1.6 阶段3:YARN的出现 15
- 1.7 小结 16
- 第2章 Apache Hadoop YARN安装快速入门 17
- 2.1 准备开始 18
- 2.2 配置单节点YARN集群的步骤 18
- 2.2.1 第1步:下载Apache Hadoop 18
- 2.2.2 第2步:设置JAVA_HOME 19
- 2.2.3 第3步:创建用户和用户组 19
- 2.2.4 第4步:创建数据和日志目录 19
- 2.2.5 第5步:配置core-site.xml 19
- 2.2.6 第6步:配置hdfs-site.xml 20
- 2.2.7 第7步:配置mapred-site.xml 21
- 2.2.8 第8步:配置yarn-site.xml 21
- 2.2.9 第9步:调整Java堆大小 21
- 2.2.10 第10步:格式化HDFS 22
- 2.2.11 第11步:启动HDFS服务 22
- 2.2.12 第12步:启动YARN服务 23
- 2.2.13 第13步:通过Web接口验证正在运行的服务 24
- 2.3 运行MapReduce示例程序 25
- 2.4 小结 26
- 第3章 Apache Hadoop YARN的核心概念 27
- 3.1 不只是MapReduce 27
- 3.2 Apache Hadoop MapReduce 29
- 3.2.1 支持非MapReduce应用的需求 30
- 3.2.2 解决可扩展性 30
- 3.2.3 提高资源使用率 30
- 3.2.4 用户敏捷性 30
- 3.3 Apache Hadoop YARN 31
- 3.4 YARN组件 32
- 3.4.1 ResourceManager 32
- 3.4.2 ApplicationMaster 32
- 3.4.3 资源模型 33
- 3.4.4 ResourceRequest和Container 33
- 3.4.5 Container规范 34
- 3.5 小结 34
- 第4章 YARN组件的功能概述 35
- 4.1 体系架构概述 35
- 4.2 ResourceManager 37
- 4.3 YARN调度组件 38
- 4.3.1 FIFO调度器 38
- 4.3.2 Capacity调度器 38
- 4.3.3 Fair调度器 39
- 4.4 Container 40
- 4.5 NodeManager 40
- 4.6 ApplicationMaster 41
- 4.7 YARN资源模型 41
- 4.7.1 客户端资源请求 42
- 4.7.2 ApplicationMaster Container的分配 42
- 4.7.3 ApplicationMaster与Container管理器的通信 44
- 4.8 管理应用程序的依赖文件 44
- 4.8.1 LocalResource的定义 44
- 4.8.2 LocalResource时间戳 45
- 4.8.3 LocalResource类型 46
- 4.8.4 LocalResource的可见性 46
- 4.8.5 LocalResource的生命周期 47
- 4.9 小结 47
- 第5章 安装Apache Hadoop YARN 49
- 5.1 基础知识 49
- 5.2 系统准备 50
- 5.2.1 第1步:安装EPEL和pdsh 50
- 5.2.2 第2步:生成和分发ssh密钥 51
- 5.3 基于脚本安装Hadoop 2 51
- 5.3.1 JDK选项 52
- 5.3.2 第1步:下载并解压脚本 52
- 5.3.3 第2步:设置脚本里的变量 52
- 5.3.4 第3步:提供节点名字 53
- 5.3.5 第4步:运行脚本 54
- 5.3.6 第5步:验证安装 54
- 5.4 基于脚本的卸载 57
- 5.5 配置文件处理 57
- 5.6 配置文件设置 57
- 5.6.1 core-site.xml 57
- 5.6.2 hdfs-site.xml 58
- 5.6.3 mapred-site.xml 58
- 5.6.4 yarn-site.xml 59
- 5.7 启动脚本 59
- 5.8 用Apache Ambari安装Hadoop 60
- 5.8.1 基于Ambari安装Hadoop 61
- 5.8.2 第1步:检查要求 61
- 5.8.3 第2步:安装Ambari服务器 62
- 5.8.4 第3步:安装和启动Ambari代理 62
- 5.8.5 第4步:启动Ambari服务器 62
- 5.8.6 第5步:安装HDP2.X集群 63
- 5.9 小结 70
- 第6章 Apache Hadoop YARN的管理 71
- 6.1 基于脚本的配置 71
- 6.2 监控集群健康:Nagios 76
- 6.2.1 监控基本的Hadoop服务 77
- 6.2.2 监控JVM 80
- 6.3 实时监控系统:Ganglia 82
- 6.4 使用Ambari管理 83
- 6.5 JVM分析 88
- 6.6 基本的YARN管理 90
- 6.6.1 YARN的管理工具 91
- 6.6.2 增加或关闭YARN节点 92
- 6.6.3 Capacity调度器的配置 92
- 6.6.4 YARN的Web代理 92
- 6.6.5 使用JobHistoryServer 93
- 6.6.6 更新用户到用户组的映射 93
- 6.6.7 更新超级用户代理群组映射 93
- 6.6.8 更新ResourceManager管理的ACL 93
- 6.6.9 重新加载服务级授权策略文件 94
- 6.6.10 管理YARN作业 94
- 6.6.11 设置Container的内存 94
- 6.6.12 设置Container核数 94
- 6.6.13 设置MapReduce配置项 95
- 6.6.14 用户日志管理 95
- 6.7 小结 97
- 第7章 Apache Hadoop YARN的架构指南 98
- 7.1 概述 98
- 7.2 ResourceManager 99
- 7.2.1 ResourceManager组件概述 100
- 7.2.2 客户端和ResourceManager交互 100
- 7.2.3 应用程序和ResourceManager的通信 102
- 7.2.4 节点和ResourceManager的通信 103
- 7.2.5 ResourceManager核心组件 104
- 7.2.6 ResourceManager安全相关的组件 105
- 7.3 NodeManager 109
- 7.3.1 NodeManager各组件概述 109
- 7.3.2 NodeManager组件 110
- 7.3.3 NodeManager安全组件 116
- 7.3.4 NodeManager的重要功能 116
- 7.4 ApplicationMaster 117
- 7.4.1 概述 117
- 7.4.2 活跃 119
- 7.4.3 资源需求 119
- 7.4.4 调度 120
- 7.4.5 调度协议和本地性 121
- 7.4.6 启动Container 123
- 7.4.7 完成的Container 124
- 7.4.8 ApplicationMaster失败和恢复 124
- 7.4.9 协调和输出提交 124
- 7.4.10 为客户端提供信息 125
- 7.4.11 安全 125
- 7.4.12 ApplicationMaster退出时进行清理 125
- 7.5 YARN Container 125
- 7.5.1 Container运行环境 126
- 7.5.2 与ApplicationMaster通信 127
- 7.6 应用程序开发者的摘要 127
- 7.7 小结 128
- 第8章 YARN中的Capacity调度器 129
- 8.1 Capacity调度器介绍 129
- 8.1.1 多租户弹性 130
- 8.1.2 安全 130
- 8.1.3 资源感知 130
- 8.1.4 细粒度调度 130
- 8.1.5 本地化 131
- 8.1.6 调度策略 131
- 8.2 Capacity调度器配置 131
- 8.3 队列 132
- 8.4 层级队列 132
- 8.4.1 关键特性 132
- 8.4.2 队列间的调度 132
- 8.4.3 定义层级队列 133
- 8.5 队列访问控制 134
- 8.6 层级队列Capacity管理 135
- 8.7 用户级别限制 137
- 8.8 预订 139
- 8.9 队列的状态 140
- 8.10 应用程序的限制 141
- 8.11 用户接口 141
- 8.12 小结 142
- 第9章 Apache Hadoop YARN下的MapReduce 143
- 9.1 运行Hadoop YARN MapReduce实例 143
- 9.1.1 可利用的实例列表 143
- 9.1.2 运行Pi实例 144
- 9.1.3 使用Web GUI监控实例 146
- 9.1.4 运行terasort测试 151
- 9.1.5 运行TestDFSIO基准测试 151
- 9.2 MapReduce兼容性 152
- 9.3 MapReduce ApplicationMaster 153
- 9.3.1 启用ApplicationMaster的重启 153
- 9.3.2 启用已完成任务的恢复 153
- 9.3.3 JobHistory服务 153
- 9.4 计算一个节点的容量 154
- 9.5 Shuffle服务的变动 155
- 9.6 运行已有的第1版Hadoop的应用程序 155
- 9.6.1 org.apache.hadoop.mapred API的二进制兼容性 155
- 9.6.2 org.apache.hadoop.mapreduce API的源码兼容性 155
- 9.6.3 命令行脚本的兼容性 156
- 9.6.4 MRv1和早期MRv2(0.23.x)应用程序兼容性的权衡 156
- 9.7 运行第1版MapReduce现有的代码 157
- 9.7.1 在YARN上运行Apache Pig脚本 157
- 9.7.2 在YARN上运行Apache Hive查询 157
- 9.7.3 在YARN上运行Apache Oozie工作流 157
- 9.8 高级特性 158
- 9.8.1 Uber作业 158
- 9.8.2 可插拔的Shuffle和Sort 158
- 9.9 小结 159
- 第10章 Apache Hadoop YARN应用程序范例 160
- 10.1 YARN客户端 161
- 10.2 ApplicationMaster 175
- 10.3 小结 192
- 第11章 使用Apache Hadoop YARN Distributed-Shell 193
- 11.1 使用YARN Distributed-Shell 193
- 11.1.1 简单例子 194
- 11.1.2 使用更多Container 195
- 11.1.3 带有shell命令参数的Distributed-Shell 195
- 11.2 Distributed-Shell内部实现 197
- 11.2.1 应用的常量定义 198
- 11.2.2 Client 198
- 11.2.3 ApplicationMaster 201
- 11.2.4 普通Container 205
- 11.3 小结 205
- 第12章 Apache Hadoop YARN框架 206
- 12.1 Distributed-Shell 206
- 12.2 Hadoop MapReduce 206
- 12.3 Apache Tez 207
- 12.4 Apache Giraph 207
- 12.5 Hoya:HBase on YARN 208
- 12.6 Dryad on YARN 208
- 12.7 Apache Spark 208
- 12.8 Apache Storm 209
- 12.9 REEF:Retainable Evaluator Execution Framework 209
- 12.10 Hamster:Hadoop and MPI on the Same Cluster 210
- 12.11 小结 210
- 附录A 补充内容和代码下载 211
- 附录B YARN的安装脚本 212
- 附录C YARN的管理脚本 224
- 附录D Nagios模块 229
- 附录E 资源及附加资料 235
- 附录F HDFS快速参考 237