首页>参考读物>计算机科学与技术>计算机网络

深入理解Hadoop(原书第2版)
作者 : [美]萨米尔·瓦德卡(Sameer Wadkar) 马杜·西德林埃(Madhu Siddalingaiah) 杰森·文纳(Jason Venner)著
译者 : 于博 冯傲风 译
丛书名 : 大数据技术丛书
出版日期 : 2015-11-27
ISBN : 978-7-111-51565-4
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 400
开本 : 16
原书名 : Pro Hadoop,Second Edition
原出版社: Apress
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

世界级大数据专家亲笔撰写,深入剖析Hadoop系统实现原理及其工程实践应用,包含大量真实案例和数据
从Hadoop使用者角度深入浅出地讲解Hadoop各组件的运行机理,深入到系统实现源码,帮助你从架构、开发、应用和运维等多方面全面掌握Hadoop系统

大数据时代,企业的决策也越来越依靠数据,对海量数据进行挖掘和分析的重视程度也高于以往任何时候。业界涌现了众多新技术,Hadoop系统是其中当之无愧的王者,当前已发展为拥有HDFS、YARN、MapReduce、Pig、HCatalog、HBase等系统的较为完整的大数据系统生态圈,为大数据的开发利用提供了比较全面的解决方案。
本书从Hadoop使用者的角度出发讲解Hadoop的实现原理,浓缩了Hadoop软件系统的精华。通过本书,你可以学会从头搭建Hadoop集群,并着手从业务数据和科学数据中分析获取其有价值的数据。作者以典型的SQL语句做对照来讲解MapReduce程序,对照SQL中典型关键词(如SELECT、WHERE、GROUP BY、JOIN等)演示如何使用MapReduce程序来实现类似功能,便于你快速掌握MapReduce来解决大数据问题。通过阅读本书,你不仅可以深入理解如何用MapReduce把海量数据分而治之,把划分出来的小块数据部署到整个集群上的数千个节点进行分析运算,这样可在小时级别完成对海量数据的分析处理,还可以深入学习如何利用Hadoop平台使自己的程序分布式执行和并行化计算,即只需关注业务代码,剩下的交给Hadoop平台。

作者简介
萨米尔·瓦德卡(Sameer Wadkar) 在软件架构与开发领域有超过16年的工作经验,从2011年开始他积极地参与了Hadoop/HBase的开发实现,也是开源软件的贡献者。
马杜·西德林埃(Madhu Siddalingaiah) 是一名拥有25年工作经验的技术顾问,近几年,他专注于电子工程、互联网技术、大数据领域。最近,他发布了几个著名的大数据系统及其解决方案。
杰森·文纳(Jason Venner) 有20多年的软件开发经验,涉及软件工程、数据挖掘、架构设计等领域,近些年来关注Java、Hadoop和云计算等领域。

译者简介
于博 优酷土豆集团大数据团队数据平台架构师。曾任百度集团商务搜索部高级开发工程师、搜狐集团研究院精准广告研发中心大数据架构师、百度凤巢系统开发者,参与过搜狐广告精准投放系统、优酷视频人机协同推荐系统等多个系统的研发工作,多次在技术论坛授课,有丰富的开发和系统架构经验。
冯傲风 百度糯米电影研发工程师,在搜狐、IBM、EMC参与过多项Hadoop大数据产品研发,有丰富的开发经验,对Hadoop以及Hadoop生态圈的相关技术有深刻的理解。

内容简介
本书由世界级大数据专家亲笔撰写,深入剖析Hadoop系统及其重要组件,不仅详细介绍Hadoop涉及的分布式理论基础知识,还着重讲解Hadoop系统的工程实践应用,包含大量真实案例和数据,可以帮助你从架构、开发、应用和运维等多方面全面地掌握Hadoop系统,成为名副其实的Hadoop专家。
全书共17章,主要内容包括:第1章从整体上介绍大数据的由来及Hadoop项目;第2章讲解Hadoop系统的核心概念、使用及其解决问题的方法和技巧;第3章讲解Hadoop系统的安装以及如何编写和执行MapReduce程序;第4章讲解Hadoop系统的底层细节,着重讲解HDFS;第5章~第7章深入分析MapReduce框架,讲述如何在MapReduce程序中实现各种数据密集型编程模式,不仅包括MapReduce框架的API,还介绍MapReduce框架的更复杂概念及其设计理念;第8章介绍Hadoop作业的测试方法;第9章讲解如何监控Hadoop集群;第10章~第12章分别介绍Hive、Pig和Crunch、HCatalog框架;第13章讲解Hadoop日志流处理技术及应用;第14章介绍HBase;第15章~第17章介绍数据科学基本概念及应用、云计算实例、分布式下载服务实例等。

图书前言

Hadoop已经进入Apache社区发展五年多了,使用Hadoop系统进行开发的工作仍然富于挑战但收获丰厚。本书第1版在若干年前就已经出版了,在这期间,Hadoop系统已经被越来越多的企业使用,自身也得到了飞速发展。Hadoop2.0基于YARN框架做了全新升级,重写了Hadoop系统的底层平台。本书从Hadoop使用者的角度出发讲解Hadoop的实现原理,浓缩了Hadoop软件系统的精华。作为作者,我们希望可以深入到源代码级别来理解Hadoop的运行原理及其背后的设计目标,渴望与你分享Hadoop带给我们的启迪。通过本书,你不仅能够深入学习Hadoop系统,还可以对Java语言在大数据处理过程中的运用有更深入的认识。
本书总体上介绍了大数据的范畴概念,然后对Hadoop进行了详细讲解。因为如果对大数据没有一个总体上的认知,是不可能真正理解Hadoop系统的。本书的读者对象具备中级Java开发能力的Hadoop开发人员。本书可以让你成为企业中的Hadoop专家。通过本书的学习,你可以获得大量实用技巧,这些技巧都是我们在从事基于Hadoop的分布式数据处理系统实践过程中总结出来的。
本书循序渐进地讲解了大量的实例,会帮助你从Hadoop集群初级使用者成长为能胜任运行任何复杂应用程序的专家。下面是本书的一个内容纲要:
第1章,讲解大数据系统的作用,介绍各种各样的大数据系统。
第2章,高屋建瓴地介绍Hadoop2.0和YARN,讲解Hadoop平台的关键概念。
第3章,开始Hadoop学习,构建你的第一个MapReduce程序。
第4章,讲解Hadoop平台管理的关键概念要素。
第5章、第6章和第7章是本书的重点,深入分析讲解了MapReduce框架。你将会学习MapReduce框架所有知识点。我们以当前广泛使用的语言SQL作为对照,来学习理解MapReduce框架的使用。利用MapReduce框架来实现SQL语言中SELECT、WHERE、GROUP BY和JOIN这些关键字的功能。Hadoop系统一个常用用途就是来做数据ETL。这几章会让你掌握如何使用MapReduce框架支持通用的数据处理功能。我们不仅仅学习MapReduce框架的API,还会学习MapReduce框架中更复杂的概念及其设计理念。
第8章,介绍一种测试框架,这种测试框架支持MapReduce程序的单元测试和集成测试。
第9章,讲解Hadoop框架的监控和日志。
第10章,讲解Hive框架,这是一个基于MapReduce的数据仓库框架。
第11章,讲解Pig和Crunch框架。这些框架可以帮助使用者在Hadoop平台上构建数据处理管道。
第12章,讲解HCatalog框架。该框架帮助企业用户可以像访问数据库中的数据表一样,来访问存放在Hadoop文件系统上的海量数据。
第13章,讲解如何使用Hadoop来分析处理日志流。
第14章,介绍HBase,这是一个基于Hadoop系统的NoSQL数据库。你会学习许多HBase用法范例。
第15章,对数据科学做简要介绍。介绍了MapReduce框架在数学科学上的局限和不足之处。同时引入介绍新的框架,比如Spark、Hama,这些框架突破了MapReduce框架中的某些局限。
第16章,简要介绍了Hadoop系统在云计算中的应用。讲解如何在一个真实的生产环境中的Hadoop集群上工作。
第17章,粗略地介绍Hadoop2.0的一个关键附加功能:在Hadoop上开发一个自己的类似于MapReduce框架的分布式数据处理框架。讲解了如何基于Hadoop2.0开发一个简单的分布式下载服务。
致谢
Hadoop在过去的10年发展过程中,有许多厂商和独立开发者为之贡献代码。Hadoop系统中也使用了大量的开源函数库。我们要感谢为Hadoop系统贡献源码的所有开源作者所付出的辛勤劳动。我们也要感谢那些在论坛上回答了Hadoop系统相关问题的博客作者及专家学者。他们的积极参与,使得Hadoop这样复杂的系统变得易于使用并成为应用主流。
我们还想感谢Apress的全体员工,他们的努力付出使得本书内容清晰易读。
我们最后要感谢我们的家庭、朋友及同事,本书在编写过程中得到他们的一贯支持。

上架指导

计算机\网络

封底文字

大数据时代,企业的决策也越来越依靠数据,对海量数据的挖掘和分析的重视程度也高于以往任何时候。业界涌现了众多新技术,Hadoop系统是其中当之无愧的王者,当前已发展为拥有HDFS、YARN、MapReduce、Pig、HCatalog、HBase等系统的较为完整的大数据系统生态圈,为大数据的开发利用提供了比较全面的解决方案。
本书从Hadoop使用者的角度出发讲解Hadoop的实现原理,浓缩了Hadoop软件系统的精华。通过本书,你可以学会从头搭建Hadoop集群,并着手从业务数据和科学数据中分析获取其有价值的数据。作者以典型的SQL语句做对照来讲解MapReduce程序,对照SQL中典型关键词(如SELECT、WHERE、GROUP BY、JOIN等)演示如何使用MapReduce程序来实现类似功能,便于你快速掌握MapReduce来解决大数据问题。通过阅读本书,你不仅可以深入理解如何通过MapReduce把海量数据分而治之,把划分出来的小块数据部署到整个集群上的数千个节点进行分析运算,这样可在小时级别完成对海量数据的分析处理,还可以深入学习如何利用Hadoop平台使自己的程序分布式执行和并行化计算,即只需关注业务代码,剩下的交给Hadoop平台。

作者简介

[美]萨米尔·瓦德卡(Sameer Wadkar) 马杜·西德林埃(Madhu Siddalingaiah) 杰森·文纳(Jason Venner)著:暂无简介

译者简介

于博 冯傲风 译:暂无简介

译者序

我们正处在一个数据量爆炸增长的时代,也是一个越来越依靠数据进行决策的时代,对海量数据的挖掘分析也从抽样数据分析变成了全量数据分析。为此,业界涌现出了许多新技术,Apache Hadoop是其中当之无愧的王者。当前Hadoop已然发展为拥有HDFS、YARN、MapReduce、Pig、HCatalog、HBase等系统的较为完整的大数据系统生态圈,为大数据的开发利用提供了比较全面的解决方案。毫无疑问,Hadoop已成为大数据行业发展背后强劲的驱动力。
本书详细地讲述了Hadoop生态圈中最为重要的几个组件。不仅介绍了Hadoop涉及的分布式理论基础知识,还着重讲解Hadoop系统的工程实践应用。为了深入浅出地讲述Hadoop各个组件的运行机理,作者使用了贴切的实战用例贯穿全书,同时,又深入到系统实现源码,使读者做到知其然,更知其所以然。通过对本书的学习,读者可以从架构、开发、应用和运维等多方面全面地掌握Hadoop系统,从而成为名副其实的Hadoop专家。
我曾经拜读过本书英文版的第1版,机缘巧合,华章给了我翻译该书第2版的机会,感谢我的小伙伴百度公司的冯傲风同学与我并肩奋战,完成了本书的翻译;感谢吴怡编辑对本书认真负责的审校和中肯的修改建议,使得本书能够顺利地出版,她的认真和敬业令人钦佩!
最后还要感谢家人,只有他们的理解和支持,我才能每天抽出那么多时间来完成本书的翻译工作。
书中概念和术语颇多,有一些目前尚无固定中文译法,加上译者水平有限,译文中的不当之处在所难免,我们真诚地希望同行和读者们不吝赐教。

于博
2015年9月于北京

图书目录

译者序
作者简介
前言
第1章为什么会有大数据1
1.1什么是大数据1
1.2大数据技术背后的核心思想2
1.2.1把数据分发到多个节点2
1.2.2把计算逻辑移动到数据附近3
1.2.3计算节点进行本地数据处理3
1.2.4优选顺序读,次之随机读4
1.2.5一个例子4
1.3大数据的编程模型5
1.3.1大规模并行处理数据库系统5
1.3.2内存数据库系统6
1.3.3MapReduce系统6
1.3.4整体同步并行系统8
1.4大数据和事务性系统8
1.5我们能处理多大的数据量9
1.5.1一个计算密集型的例子10
1.5.2Amdhal定律10
1.6大数据商业用例11
1.7本章小结12
第2章Hadoop中的概念13
2.1Hadoop简介13
2.2MapReduce编程模型简介15
2.3Hadoop系统的组成19
2.3.1Hadoop 分布式文件系统20
2.3.2辅助名称节点25
2.3.3任务跟踪器26
2.3.4作业跟踪器26
2.4Hadoop 2.027
2.4.1容器29
2.4.2节点管理器29
2.4.3资源管理器30
2.4.4应用程序管理器30
2.4.5分步详解YARN请求31
2.5HDFS 的高可用性33
2.6本章小结33
第3章初识Hadoop框架34
3.1安装类型34
3.1.1单机模式35
3.1.2伪分布式集群模式35
3.1.3多节点集群安装模式35
3.1.4基于Amazon EMR预安装模式35
3.2使用Cloudera虚拟机搭建开发环境36
3.3一个MapReduce程序的组成37
3.4第一个Hadoop程序38
3.4.1以本地模式运行程序的必要条件39
3.4.2使用旧API编写的单词计数程序39
3.4.3构建程序42
3.4.4在集群模式下运行单词计数程序42
3.4.5使用新API编写的单词计数程序43
3.4.6构建程序44
3.4.7在集群模式下运行单词计数程序45
3.5Hadoop作业中的第三方函数库45
3.6本章小结50
第4章Hadoop系统管理51
4.1Hadoop的配置文件51
4.2配置Hadoop守护进程52
4.3Hadoop配置文件的优先级53
4.4深入探究Hadoop配置文件54
4.4.1core-site.xml54
4.4.2hdfs-*.xml55
4.4.3mapred-site.xml56
4.4.4yarn-site.xml58
4.4.5YARN中的内存分配60
4.5调度器61
4.5.1计算能力调度器62
4.5.2公平调度器65
4.5.3公平调度器配置65
4.5.4 yarn-site.xml 配置66
4.5.5策略文件的格式和配置67
4.5.6按照drf策略来确定优势资源的分配68
4.6从属文件69
4.7机架感知69
4.8 集群管理工具71
4.8.1检查HDFS71
4.8.2 HDFS管理命令行73
4.8.3 均衡HDFS上的数据分布75
4.8.4从HDFS中复制海量数据76
4.9本章小结76
第5章MapReduce开发基础78
5.1 Hadoop和数据处理78
5.2 航空公司数据集介绍79
5.2.1 准备开发环境80
5.2.2 准备Hadoop系统81
5.3 MapReduce编程模式81
5.3.1 只有Map阶段的作业(SELECT和WHERE查询)82
5.3.2 问题定义—SELECT子句82
5.3.3 问题定义—WHERE子句90
5.3.4 Map和Reduce作业(聚合查询)93
5.3.5 问题定义—GROUP BY和SUM子句93
5.3.6 应用Combiner提高Aggregation性能99
5.3.7 问题定义—优化后的Aggregators99
5.3.8 Partitioner的作用104
5.3.9 问题定义—按月分离航空数据105
5.4 综合分析108
5.5 本章小结110
第6章MapReduce开发进阶111
6.1 MapReduce编程模式111
6.2 Hadoop I/O 介绍111
6.3 问题定义—排序114
6.3.1 主要挑战:全排序115
6.3.2 在Cluster中运行Sorting作业125
6.3.3 仅根据Writable键排序125
6.3.4 根据排序回顾Hadoop的关键特性128
6.4 问题定义—分析连续的记录128
6.4.1 支持二次排序的重要组件129
6.4.2 在没有Grouping Comparator的情况下实现Secondary Sort136
6.4.3 在Cluster中运行SecondarySort作业137
6.4.4 利用Secondary Sort回顾Hadoop的关键特性137
6.5 问题定义—使用MapReducer进行连接138
6.5.1 处理多输入:Multiple-Inputs 类138
6.5.2 具备多个输入的Mapper类139
6.5.3 自定义 Partitioner: Carrier-CodeBasedPartioner141
6.5.4 在Reducer中实现连接141
6.5.5 在集群中运行MapReduce连接作业143
6.5.6 探讨与MapReduce相关的Hadoop主要特性144
6.6 问题定义—使用Map-Only 作业进行连接144
6.6.1 基于DistributeCache的解决方案145
6.6.2 在集群中运行Map-Only的连接作业147
6.6.3 总结探讨Map-Only连接时的Hadoop关键特性149
6.7 在MR作业中保存结果到多输出文件149
6.8 使用计数器收集统计数据151
6.9 本章小结153
第7章 Hadoop输入/输出155
7.1 压缩方式155
7.1.1 压缩内容的选择156
7.1.2 各种压缩方式157
7.1.3 配置压缩方式158
7.2 Hadoop的I/O处理过程内部159
7.2.1 Inputformat159
7.2.2 OutputFormat161
7.2.3 自定义OutputFormat:将文本转换成XML161
7.2.4 自定义 InputFormat:使用自定义的XML文件165
7.3 Hadoop文件173
7.3.1 SequenceFile173
7.3.2 MapFiles178
7.3.3 Avro Files180
7.4 本章小结185
第8章 测试Hadoop程序186
8.1 回顾一下单词统计的程序186
8.2 MRUnit概述188
8.2.1 安装MRUnit188
8.2.2 MRUnit 核心类188
8.2.3 编写一个MRUnit测试用例189
8.2.4 测试计数器191
8.2.5 MRUnit的特性194
8.2.6 MRUnit的局限性194
8.3 用LocalJobRunner测试195
8.3.1 setUp( )方法196
8.3.2 LocalJobRunner的局限性197
8.4 用MiniMRCluster测试198
8.4.1 配置开发环境198
8.4.2 MiniMRCluster例子199
8.4.3 MiniMRCluster的局限性201
8.5 对访问网络资源的MR作业进行测试202
8.6 本章小结202
第9章Hadoop的监控203
9.1 在Hadoop MapReduce Jobs中写日志消息203
9.2 在Hadoop MapReduce Jobs中查看日志消息206
9.3 在Hadoop 2.x中使用日志管理208
9.3.1 Hadoop 2.x中的日志存储208
9.3.2 日志管理提升210
9.3.3 使用基于Web的界面查看日志210
9.3.4 命令行界面211
9.3.5 日志的保存211
9.4 Hadoop集群性能监控211
9.5 使用YARN REST API212
9.6 使用供应商工具管理Hadoop集群213
9.7 本章小结214
第10章使用Hadoop构建数据仓库215
10.1 Apache Hive215
10.1.1 安装Hive216
10.1.2 Hive的架构217
10.1.3 元数据存储217
10.1.4 HiveQL编译基础217
10.1.5 Hive使用的概念218
10.1.6 HiveQL编译细节222
10.1.7 数据定义语言226
10.1.8 数据操作语言226
10.1.9 扩展接口227
10.1.10 Hive脚本229
10.1.11 性能表现229
10.1.12 整合MapReduce230
10.1.13 创建分区230
10.1.14 用户定义函数232
10.2 Impala234
10.2.1 Impala架构234
10.2.2 Impala特性235
10.2.3 Impala的局限235
10.3 Shark235
10.4 本章小结237
第11章使用Pig进行数据处理238
11.1 Pig简介238
11.2 运行Pig240
11.2.1 在Grunt Shell中执行241
11.2.2 执行Pig脚本241
11.2.3 嵌入式Java程序242
11.3 Pig Latin243
11.3.1 Pig脚本中的注释243
11.3.2 Pig语句的执行243
11.3.3 Pig命令244
11.4 UDF249
11.4.1 Mapper中的Eval函数调用249
11.4.2 Reducer中的Eval函数调用250
11.4.3 编写并使用自定义Filter-Func256
11.5 Pig与Hive对比258
11.6 Crunch API259
11.6.1  Crunch与Pig的区别259
11.6.2 Crunch管道的例子260
11.7 本章小结265
第12章HCatalog和企业级Hadoop266
12.1 HCataolg和企业级数据仓库用户266
12.2 HCatalog技术背景简介 267
12.2.1 HCatalog命令行接口269
12.2.2 WebHCat269
12.2.3 HCatalog的MapReduce接口270
12.2.4 HCatalog的Pig接口273
12.2.5 HCatalog通知接口274
12.3 HCatalog的安全和认证机制274
12.4 完整的解决方案275
12.5 本章小结275
第13章使用Hadoop分析日志277
13.1 日志文件分析应用277
13.1.1 网络分析277
13.1.2 安全规范与法务278
13.1.3 监控和报警279
13.1.4 物联网279
13.2 分析步骤280
13.2.1 载入280
13.2.2 提取280
13.2.3 可视化281
13.3 Apache Flume281
13.4 Netflix Suro283
13.5 云解决方案285
13.6 本章小结285
第14章使用HBase构建实时系统286
14.1 HBase是什么286
14.2 典型的HBase用例场景287
14.3 HBase数据模型288
14.3.1 HBase逻辑视图和客户端视图288
14.3.2 HBase与RDBMS的区别289
14.3.3 HBase表290
14.3.4 HBase单元格290
14.3.5 HBase列簇290
14.4 HBase命令和API291
14.4.1 获取命令列表:帮助命令291
14.4.2 创建表:create命令292
14.4.3 向表中加入行:put命令293
14.4.4 从表中检索行:get命令293
14.4.5 读取多行:scan命令293
14.4.6 统计表中的行数:count命令293
14.4.7 删除行:delete命令294
14.4.8 清空表:truncate命令294
14.4.9 删除表:drop命令294
14.4.10 更换表:alter命令294
14.5 HBase架构295
14.5.1 HBase组件295
14.5.2 HBase中的压缩与分区302
14.5.3 压缩303
14.6 HBase配置概览304
14.7 HBase应用程序设计305
14.7.1 长表vs宽表vs窄表305
14.7.2 行键设计306
14.8 使用Java API操作HBase307
14.8.1 一切都是字节307
14.8.2 创建HBase表307
14.8.3 使用HBaseAdmin类管理HBase308
14.8.4 使用Java API访问数据308
14.9 HBase与MapReduce集成312
14.9.1 使用MapReduce任务读取HBase表312
14.9.2 HBase和MapReduce集群315
14.10 本章小结316
第15章Hadoop与数据科学317
15.1 Hadoop中的数据科学方法318
15.2 Apache Hama318
15.2.1 整体同步并行计算模型318
15.2.2 Hama Hello World!319
15.2.3 蒙特卡洛方法321
15.2.4 K-Means聚类324
15.3 Apache Spark327
15.3.1 弹性分布式数据集(RDD)327
15.3.2 Spark与蒙特卡洛算法328
15.3.3 Spark与KMeans聚类330
15.4 RHadoop332
15.5 本章小结333
第16章Hadoop与云计算334
16.1 经济性334
16.1.1 自有集群335
16.1.2 基于云平台的集群335
16.1.3 弹性336
16.1.4 按需付费336
16.1.5 竞价336
16.1.6 混合集群336
16.2 后勤保障337
16.2.1 导入/导出337
16.2.2 数据保存337
16.3 安全性337
16.4 云端应用模型338
16.5 云服务商339
16.5.1 亚马逊网络服务(AWS)339
16.5.2 谷歌云平台341
16.5.3 微软Azure342
16.5.4 选择云服务商342
16.6 案例学习: AWS342
16.6.1 EMR343
16.6.2 EC2345
16.7 本章小结348
第17章构建YARN应用程序349
17.1 YARN:通用分布式系统349
17.2 YARN:快速浏览351
17.3 创建YARN应用程序353
17.4 DownloadService.java类354
17.5 Client.java类356
17.5.1 从客户端启动应用管理器的步骤356
17.5.2 创建YarnClient357
17.5.3 配置应用程序357
17.5.4 启动应用管理器360
17.5.5 监控应用360
17.6 ApplicationMaster.java362
17.6.1 启动工作任务的步骤363
17.6.2 初始化应用管理器协议和容器管理协议364
17.6.3 在资源管理器中注册应用管理器364
17.6.4 配置容器参数364
17.6.5 向资源管理器请求容器364
17.6.6 在任务节点上启动容器364
17.6.7 等待容器结束工作任务365
17.6.8 在资源管理器中注销应用管理器365
17.7 运行应用管理器367
17.7.1 在非托管模式中启动应用管理器367
17.7.2 在托管模式中启动应用管理器367
17.8 本章小结367
附录A安装Hadoop369
附录B使用Maven和Eclipse378
附录CApache Ambari383

教学资源推荐
作者: (美)Gary R.Wright,W.Richard Stevens
作者: (美)Emad Aboelela 著
作者: [美]詹姆斯·F. 库罗斯(James F. Kurose),[美]基思·W. 罗斯(Keith W. Ross) 著
参考读物推荐
作者: 熊普江 盛国军 编著
作者: 刘畅 杨昕
作者: 李瑞民 著
作者: 朱河清 梁存铭 胡雪焜 曹水 等编著