Hadoop YARN权威指南作者:(美)默西 著出版时间:2015年版内容简介 《Hadoop YARN权威指南》由YARN的创建和开发团队亲笔撰写,Altiscale的CEO作序鼎力推荐,是使用Hadoop YARN建立分布式、大数据应用的权威指南。书中利用多个实例,详细介绍Hadoop YARN的安装和管理,以帮助用户使用YARN进行应用开发,并在YARN上运行除了MapReduce之外的新框架。《Hadoop YARN权威指南》共12章,第1章讲述Apache Hadoop YARN产生和发展的历史;第2章讲解在单台机器(工作站、服务器或笔记本电脑)上快速安装Hadoop 2.0;第3章介绍Apache Hadoop YARN资源管理器;第4章简要介绍YARN组件的功能,帮助读者开始深入了解YARN;第5章详细讲解YARN的安装方法,包括一个基于脚本的手动安装,以及使用Apache Ambari基于GUI的安装;第6章讲述对YARN集群的管理,涉及一些基本的YARN管理场景,介绍如何利用Nagios和Ganglia监控集群,论述对JVM的监视,并介绍Ambari的管理界面;第7章深入探究YARN的架构,向读者展示YARN的内部工作原因;第8章深入讨论Capacity调度器;第9章描述基于现有MapReduce的应用程序如何继续工作以及利用YARN的优势;第10章通过创建一个JBoss Application Server集群的过程,讲述如何构建一个YARN应用程序;第11章描述建立在YARN上的典型示例程序distributed shell的使用和内部情况;第12章总结运行在YARN上的新兴开源框架。最后提供6个附录,包括补充内容和代码下载、YARN的安装脚本、YARN管理脚本、Nagios模块、资源及其他信息、HDFS快速参考。目录译者序推荐序一推荐序二前 言第1章 Apache Hadoop YARN:简明历史及基本原理 11.1 引言 11.2 Apache Hadoop 21.3 阶段0:Ad Hoc集群时期 31.4 阶段1:Hadoop on Demand 31.4.1 HOD世界中的HDFS 51.4.2 HOD的特色及优势 51.4.3 HOD的缺点 61.5 阶段2:共享计算集群的黎明 81.5.1 共享集群的演进 81.5.2 使用共享MapReduce集群的问题 131.6 阶段3:YARN的出现 151.7 小结 16第2章 Apache Hadoop YARN安装快速入门 172.1 准备开始 182.2 配置单节点YARN集群的步骤 182.2.1 第1步:下载Apache Hadoop 182.2.2 第2步:设置JAVA_HOME 192.2.3 第3步:创建用户和用户组 192.2.4 第4步:创建数据和日志目录 192.2.5 第5步:配置core-site.xml 192.2.6 第6步:配置hdfs-site.xml 202.2.7 第7步:配置mapred-site.xml 212.2.8 第8步:配置yarn-site.xml 212.2.9 第9步:调整Java堆大小 212.2.10 第10步:格式化HDFS 222.2.11 第11步:启动HDFS服务 222.2.12 第12步:启动YARN服务 232.2.13 第13步:通过Web接口验证正在运行的服务 242.3 运行MapReduce示例程序 252.4 小结 26第3章 Apache Hadoop YARN的核心概念 273.1 不只是MapReduce 273.2 Apache Hadoop MapReduce 293.2.1 支持非MapReduce应用的需求 303.2.2 解决可扩展性 303.2.3 提高资源使用率 303.2.4 用户敏捷性 303.3 Apache Hadoop YARN 313.4 YARN组件 323.4.1 ResourceManager 323.4.2 ApplicationMaster 323.4.3 资源模型 333.4.4 ResourceRequest和Container 333.4.5 Container规范 343.5 小结 34第4章 YARN组件的功能概述 354.1 体系架构概述 354.2 ResourceManager 374.3 YARN调度组件 384.3.1 FIFO调度器 384.3.2 Capacity调度器 384.3.3 Fair调度器 394.4 Container 404.5 NodeManager 404.6 ApplicationMaster 414.7 YARN资源模型 414.7.1 客户端资源请求 424.7.2 ApplicationMaster Container的分配 424.7.3 ApplicationMaster与Container管理器的通信 444.8 管理应用程序的依赖文件 444.8.1 LocalResource的定义 444.8.2 LocalResource时间戳 454.8.3 LocalResource类型 464.8.4 LocalResource的可见性 464.8.5 LocalResource的生命周期 474.9 小结 47第5章 安装Apache Hadoop YARN 495.1 基础知识 495.2 系统准备 505.2.1 第1步:安装EPEL和pdsh 505.2.2 第2步:生成和分发ssh密钥 515.3 基于脚本安装Hadoop 2 515.3.1 JDK选项 525.3.2 第1步:下载并解压脚本 525.3.3 第2步:设置脚本里的变量 525.3.4 第3步:提供节点名字 535.3.5 第4步:运行脚本 545.3.6 第5步:验证安装 545.4 基于脚本的卸载 575.5 配置文件处理 575.6 配置文件设置 575.6.1 core-site.xml 575.6.2 hdfs-site.xml 585.6.3 mapred-site.xml 585.6.4 yarn-site.xml 595.7 启动脚本 595.8 用Apache Ambari安装Hadoop 605.8.1 基于Ambari安装Hadoop 615.8.2 第1步:检查要求 615.8.3 第2步:安装Ambari服务器 625.8.4 第3步:安装和启动Ambari代理 625.8.5 第4步:启动Ambari服务器 625.8.6 第5步:安装HDP2.X集群 635.9 小结 70第6章 Apache Hadoop YARN的管理 716.1 基于脚本的配置 716.2 监控集群健康:Nagios 766.2.1 监控基本的Hadoop服务 776.2.2 监控JVM 806.3 实时监控系统:Ganglia 826.4 使用Ambari管理 836.5 JVM分析 886.6 基本的YARN管理 906.6.1 YARN的管理工具 916.6.2 增加或关闭YARN节点 926.6.3 Capacity调度器的配置 926.6.4 YARN的Web代理 926.6.5 使用JobHistoryServer 936.6.6 更新用户到用户组的映射 936.6.7 更新超级用户代理群组映射 936.6.8 更新ResourceManager管理的ACL 936.6.9 重新加载服务级授权策略文件 946.6.10 管理YARN作业 946.6.11 设置Container的内存 946.6.12 设置Container核数 946.6.13 设置MapReduce配置项 956.6.14 用户日志管理 956.7 小结 97第7章 Apache Hadoop YARN的架构指南 987.1 概述 987.2 ResourceManager 997.2.1 ResourceManager组件概述 1007.2.2 客户端和ResourceManager交互 1007.2.3 应用程序和ResourceManager的通信 1027.2.4 节点和ResourceManager的通信 1037.2.5 ResourceManager核心组件 1047.2.6 ResourceManager安全相关的组件 1057.3 NodeManager 1097.3.1 NodeManager各组件概述 1097.3.2 NodeManager组件 1107.3.3 NodeManager安全组件 1167.3.4 NodeManager的重要功能 1167.4 ApplicationMaster 1177.4.1 概述 1177.4.2 活跃 1197.4.3 资源需求 1197.4.4 调度 1207.4.5 调度协议和本地性 1217.4.6 启动Container 1237.4.7 完成的Container 1247.4.8 ApplicationMaster失败和恢复 1247.4.9 协调和输出提交 1247.4.10 为客户端提供信息 1257.4.11 安全 1257.4.12 ApplicationMaster退出时进行清理 1257.5 YARN Container 1257.5.1 Container运行环境 1267.5.2 与ApplicationMaster通信 1277.6 应用程序开发者的摘要 1277.7 小结 128第8章 YARN中的Capacity调度器 1298.1 Capacity调度器介绍 1298.1.1 多租户弹性 1308.1.2 安全 1308.1.3 资源感知 1308.1.4 细粒度调度 1308.1.5 本地化 1318.1.6 调度策略 1318.2 Capacity调度器配置 1318.3 队列 1328.4 层级队列 1328.4.1 关键特性 1328.4.2 队列间的调度 1328.4.3 定义层级队列 1338.5 队列访问控制 1348.6 层级队列Capacity管理 1358.7 用户级别限制 1378.8 预订 1398.9 队列的状态 1408.10 应用程序的限制 1418.11 用户接口 1418.12 小结 142第9章 Apache Hadoop YARN下的MapReduce 1439.1 运行Hadoop YARN MapReduce实例 1439.1.1 可利用的实例列表 1439.1.2 运行Pi实例 1449.1.3 使用Web GUI监控实例 1469.1.4 运行terasort测试 1519.1.5 运行TestDFSIO基准测试 1519.2 MapReduce兼容性 1529.3 MapReduce ApplicationMaster 1539.3.1 启用ApplicationMaster的重启 1539.3.2 启用已完成任务的恢复 1539.3.3 JobHistory服务 1539.4 计算一个节点的容量 1549.5 Shuffle服务的变动 1559.6 运行已有的第1版Hadoop的应用程序 1559.6.1 org.apache.hadoop.mapred API的二进制兼容性 1559.6.2 org.apache.hadoop.mapreduce API的源码兼容性 1559.6.3 命令行脚本的兼容性 1569.6.4 MRv1和早期MRv2(0.23.x)应用程序兼容性的权衡 1569.7 运行第1版MapReduce现有的代码 1579.7.1 在YARN上运行Apache Pig脚本 1579.7.2 在YARN上运行Apache Hive查询 1579.7.3 在YARN上运行Apache Oozie工作流 1579.8 高级特性 1589.8.1 Uber作业 1589.8.2 可插拔的Shuffle和Sort 1589.9 小结 159第10章 Apache Hadoop YARN应用程序范例 16010.1 YARN客户端 16110.2 ApplicationMaster 17510.3 小结 192第11章 使用Apache Hadoop YARN Distributed-Shell 19311.1 使用YARN Distributed-Shell 19311.1.1 简单例子 19411.1.2 使用更多Container 19511.1.3 带有shell命令参数的Distributed-Shell 19511.2 Distributed-Shell内部实现 19711.2.1 应用的常量定义 19811.2.2 Client 19811.2.3 ApplicationMaster 20111.2.4 普通Container 20511.3 小结 205第12章 Apache Hadoop YARN框架 20612.1 Distributed-Shell 20612.2 Hadoop MapReduce 20612.3 Apache Tez 20712.4 Apache Giraph 20712.5 Hoya:HBase on YARN 20812.6 Dryad on YARN 20812.7 Apache Spark 20812.8 Apache Storm 20912.9 REEF:Retainable Evaluator Execution Framework 20912.10 Hamster:Hadoop and MPI on the Same Cluster 21012.11 小结 210附录A 补充内容和代码下载 211附录B YARN的安装脚本 212附录C YARN的管理脚本 224附录D Nagios模块 229附录E 资源及附加资料 235附录F HDFS快速参考 237 上一篇: 数据科学导论 [杨旭,汤海京,丁刚毅 主编] 2014年版 下一篇: 专家系统工具ESTA及其应用 2014年版