|
介绍:
内容简介
本书能满足读者全面学习最新的Hadoop技术及其相关技术(Hive、HBase等)的需求,是一本系统且极具实践指导意义的Hadoop工具书和参考书。第1版上市后广受好评,被誉为学习Hadoop技术的经典著作之一。与第1版相比,第2版技术更新颖,所有技术都针对最新版进行了更新;内容更全面,几乎每一个章节都增加了新内容,而且增加了新的章节;实战性更强,案例更丰富;细节更完美,对第1版中存在的缺陷和不足进行了修正。
本书内容全面,对Hadoop整个技术体系进行了全面的讲解,不仅包括HDFS、MapReduce、YARN等核心内容,而且还包括Hive、HBase、Mahout、Pig、ZooKeeper、Avro、Chukwa等与Hadoop技术相关的重要内容。实战性强,不仅为各个知识点精心设计了大量经典的小案例,而且还包括Yahoo!等多个大公司的企业级案例,可操作系极强。
全书一共19章:第1~2章首先对Hadoop进行了全方位的宏观介绍,然后介绍了Hadoop在三大主流操作系统平台上的安装与配置方法;第3~6章分别详细讲解了MapReduce计算模型、MapReduce的工作机制、MapReduce应用的开发方法,以及多个精巧的MapReduce应用案例;第7章全面讲解了Hadoop的I/O操作;第8章对YARN进行了介绍;第9章对HDFS进行了详细讲解和分析;第10章细致地讲解了Hadoop的管理;第11~17章对Hadoop大生态系统中的Hive、HBase、Mahout、Pig、ZooKeeper、Avro、Chukwa等技术进行了详细的讲解;第18章讲解了Hadoop的各种常用插件,以及Hadoop插件的开发方法;第19章分析了Hadoop在Yahoo!、eBay、百度、Facebook等企业中的应用案例。
目录
前 言
第1章 Hadoop简介/1
1.1 什么是Hadoop/2
1.1.1 Hadoop概述/2
1.1.2 Hadoop的历史/2
1.1.3 Hadoop的功能与作用/2
1.1.4 Hadoop的优势/3
1.1.5 Hadoop应用现状和发展趋势/3
1.2 Hadoop项目及其结构/3
1.3 Hadoop体系结构/6
1.4 Hadoop与分布式开发/7
1.5 Hadoop计算模型—MapReduce/10
1.6 Hadoop数据管理/10
1.6.1 HDFS的数据管理/10
1.6.2 HBase的数据管理/12
1.6.3 Hive的数据管理/13
1.7 Hadoop集群安全策略/15
1.8 本章小结/17
第2章 Hadoop的安装与配置/19
2.1 在Linux上安装与配置Hadoop/20
2.1.1 安装JDK 1.6/20
2.1.2 配置SSH免密码登录/21
2.1.3 安装并运行Hadoop/22
2.2 在Mac OSX上安装与配置Hadoop/24
2.2.1 安装Homebrew/24
2.2.2 使用Homebrew安装Hadoop/25
2.2.3 配置SSH和使用Hadoop/25
2.3 在Windows上安装与配置Hadoop/25
2.3.1 安装JDK 1.6或更高版本/25
2.3.2 安装Cygwin/25
2.3.3 配置环境变量/26
2.3.4 安装sshd服务/26
2.3.5 启动sshd服务/26
2.3.6 配置SSH免密码登录/26
2.3.7 安装并运行Hadoop/26
2.4 安装和配置Hadoop集群/27
2.4.1 网络拓扑/27
2.4.2 定义集群拓扑/27
2.4.3 建立和安装Cluster /28
2.5 日志分析及几个小技巧/34
2.6 本章小结/35
第3章 MapReduce计算模型/36
3.1 为什么要用MapReduce/37
3.2 MapReduce计算模型/38
3.2.1 MapReduce Job/38
3.2.2 Hadoop中的Hello World程序/38
3.2.3 MapReduce的数据流和控制流/46
3.3 MapReduce任务的优化/47
3.4 Hadoop流/49
3.4.1 Hadoop流的工作原理/50
3.4.2 Hadoop流的命令/51
3.4.3 两个例子/52
3.5 Hadoop Pipes/54
3.6 本章小结/56
第4章 开发MapReduce应用程序/57
4.1 系统参数的配置/58
4.2 配置开发环境/60
4.3 编写MapReduce程序/60
4.3.1 Map处理/60
4.3.2 Reduce处理/61
4.4 本地测试/62
4.5 运行MapReduce程序/62
4.5.1 打包/64
4.5.2 在本地模式下运行/64
4.5.3 在集群上运行/64
4.6 网络用户界面/65
4.6.1 JobTracker页面/65
4.6.2 工作页面/65
4.6.3 返回结果/66
4.6.4 任务页面/67
4.6.5 任务细节页面/67
4.7 性能调优/68
4.7.1 输入采用大文件/68
4.7.2 压缩文件/68
4.7.3 过滤数据/69
4.7.4 修改作业属性/71
4.8 MapReduce工作流/72
4.8.1 复杂的Map和Reduce函数/72
4.8.2 MapReduce Job中全局共享数据/74
4.8.3 链接MapReduce Job/75
4.9 本章小结/77
第5章 MapReduce应用案例/79
5.1 单词计数/80
5.1.1 实例描述/80
5.1.2 设计思路/80
5.1.3 程序代码/81
5.1.4 代码解读/82
5.1.5 程序执行/83
5.1.6 代码结果/83
5.1.7 代码数据流/84
5.2 数据去重/85
5.2.1 实例描述/85
5.2.2 设计思路/86
5.2.3 程序代码/86
5.3 排序/87
5.3.1 实例描述/87
5.3.2 设计思路/88
5.3.3 程序代码/89
5.4 单表关联/91
5.4.1 实例描述/91
5.4.2 设计思路/92
5.4.3 程序代码/92
5.5 多表关联/95
5.5.1 实例描述/95
5.5.2 设计思路/96
5.5.3 程序代码/96
5.6 本章小结/98
第6章 MapReduce工作机制/99
6.1 MapReduce作业的执行流程/100
6.1.1 MapReduce任务执行总流程/100
6.1.2 提交作业/101
6.1.3 初始化作业/103
6.1.4 分配任务/104
6.1.5 执行任务/106
6.1.6 更新任务执行进度和状态/107
6.1.7 完成作业/108
6.2 错误处理机制 /108
6.2.1 硬件故障/109
6.2.2 任务失败/109
6.3 作业调度机制/110
6.4 Shuffle和排序/111
6.4.1 Map端/111
6.4.2 Reduce端/113
6.4.3 shuffle
|
|