内容简介
本书由浅入深,全面、系统地介绍了Hadoop这一高性能处理大量数据集的理想工具。本书内容主要包括HDFS、MapReduce、Hive、Hbase、Mahout、Pig、ZooKeeper、Avro、Chukwa等与Hadoop相关的子项目,各个知识点都配有精心设计的大量经典的小案例,实战性和可操作性强。
本书旨在帮助云计算初学者迅速掌握Hadoop系统,提升读者在云计算实践中的应用和开发能力。同时本书极强的系统性和大量翔实的案例对于有一定基础的中用户有好的参考价值。
目录
第1篇 Hadoop技术篇
第1章 初识Hadoop
1.1 Hadoop简介
1.1.1 Hadoop的起源
1.1.2 什么是Hadoop
1.1.3 Hadoop的核心技术是Google核心技术的开源实现
1.1
第1篇 Hadoop技术篇
第1章 初识Hadoop
1.1 Hadoop简介
1.1.1 Hadoop的起源
1.1.2 什么是Hadoop
1.1.3 Hadoop的核心技术是Google核心技术的开源实现
1.1.4 Hadoop的功能与优点
1.1.5 Hadoop的应用现状和发展趋势
1.2 Hadoop的体系结构
1.2.1 HDFS的体系结构
1.2.2 MapReduce的体系结构
1.3 Hadoop与分布式开发
1.4 Hadoop的数据管理
1.4.1 HDFS的数据管理
1.4.2 Hbase的数据管理
1.4.3 Hive的数据管理
1.5 思考与总结
第2章 Hadoop的安装和配置
2.1 在Windows下安装与配置Hadoop
2.1.1 JDK的安装
2.1.2 Cygwin的安装
2.1.3 Hadoop的安装
2.2 在Linux下安装与配置Hadoop
2.2.1 Ubuntu的安装
2.2.2 JDK的安装
2.2.3 Hadoop的安装
2.3 Hadoop的执行实例
2.3.1 运行Hadoop
2.3.2 运行wordcount.java程序
2.4 Hadoop Eclipse简介和使用
2.4.1 Eclipse插件介绍
2.4.2 Eclipse插件开发配置
2.4.3 在Eclipse下运行WordCount程序
2.5 Hadoop的集群和优化
2.5.1 Hadoop的性能优化
2.5.2 Hadoop配置机架感知信息
2.6 思考与总结
第3章 HDFS海量存储
3.1 开源的GFS——HDFS
3.1.1 HDFS简介
3.1.2 HDFS的体系结构
3.1.3 HDFS的保障可靠性措施
3.2 HDFS的常用操作
3.2.1 HDFS下的文件操作
3.2.2 管理与更新
3.2.3 HDFS API详解
3.2.4 HDFS的读/写数据流
3.3 用HDFS存储海量的视频数据
3.3.1 场景分析
3.3.2 设计实现
3.4 思考与总结
第4章 初识MapReduce
4.1 MapReduce简介
4.1.1 MapReduce要解决什么问题
4.1.2 MapReduce的理论基础
4.1.3 MapReduce的编程模式
4.2 MapReduce的集群行为
4.3 Map/Reduce框架
4.4 样例分析:单词计数
4.4.1 WordCount实例的运行过程
4.4.2 WordCount的源码分析和程序处理过程
4.4.3 MapReduce常用类及其接口
4.5 实例:倒排索引
4.5.1 倒排索引的分析和设计
4.5.2 倒排索引完整源码
4.5.3 运行代码结果
4.6 MapReduce 在日志分析中数据去重案例
4.6.1 什么是数据去重
4.6.2 设计思路
4.6.3 程序代码
4.6.4 代码运行结果
4.7 数据排序实例
4.7.1 实例描述
4.7.2 设计思路
4.7.3 程序代码
4.8 思考与总结
第5章 分布式开源数据库Hbase
5.1 Hbase简介
5.1.1 Hbase逻辑视图
5.1.2 Hbase物理存储
5.1.3 子表Region服务器
5.1.4 Hmaster主服务器
5.1.5 元数据表
5.2 Hbase的安装配置
5.2.1 Hbase单机模式
5.2.2 Hbase伪分布模式
5.2.3 Hbase分布模式
5.3 学生成绩表实例
5.3.1 Shell的基本操作
5.3.2 代码实现
5.3.3 关于中文的处理
5.3.4 常用HB
摘要与插图
为什么需要云计算?可以通过一个简单的案例说明:一台计算机处理一批数据需要30小时,比如处理地震预测、天气预报的数据,这样的计算速度实在是太慢了。提升单台计算机的速度是过去的办法,但CPU的速度不可能再大幅度提升了。人们一直希望通过增加计算机数量并行运算提升运算和数据处理速度,例如,希望通过同时在300台计算机上处理数据,让处理这批数据的速度变成10分钟,并且看起来是在一台计算机上处理的。当然,这是一种理想状态。实际上,人们已经开始设计这样的分布式系统,通过把众多的计算机通过集群方式并行同时运行,以此来提高处理的速度。这就是云计算的源起。在开源云计算系统中,Hadoop 稳居第一。事实上,Hadoop 非常受欢迎,全球已经安装了数以万计的 Hadoop 系统。在诸多的云计算技术中,Hadoop具有无与伦比的优势,越来越多的公司和组织选择使用Hadoop开源项目作为其解决方案。
Hadoop是Apache基金会的开源项目,为开发者提供了一个分布式系统的基础架构,用户可以在不了解分布式系统的底层细节的情况下开发分布式的应用,充分利用集群的强大功能,实现高速运算和存储。Hadoop项目中包括一个分布式的文件系统HDFS,一个分布式的并行编程框架MapReduce,以及包括Hive、Hbase、Mahout、Pig、ZooKeeper、Avro、Chukwa在内的诸多子项目。
本书的特点
1.结构合理,内容系统全面;叙述翔实,例程丰富
在内容的安排上,根据读者的学习习惯和内容的梯度合理安排,更加适合读者学习。同时,本书有详细的例程,每个例子都经过精挑细选,有很强的针对性。书中的程序都有完整的代码,而且代码非常简洁和高效,便于读者学习和调试,读者也可以直接使用这些代码来解决自己的问题。
2.基础知识和实践并重
本书不仅注重基础知识,而且非常注重实践,让读者快速上手,迅速掌握Hadoop知识。
3.结合实际,实战项目贯穿其中
本书写作时特意给出了大量的实战项目,这些项目的灵活使用,将会让读者事半功倍。同时,为了便于读者高效、直观地学习本书内容,对每章的内容的学习都特意编写了巩固习题。
本书内容体系
全书总共16章,分为3篇,各篇对应的章节和具体内容如下。
第1篇Hadoop技术篇,包括1~10章,主要介绍了初识Hadoop、Hadoop的安装和配置、HDFS海量存储、初识MapReduce、分布式开源数据库Hbase、MapReduce进阶、Hive数据仓库、Pig开发应用、Chukwa数据收集系统、ZooKeeper开发应用。
第2篇Hadoop管理和容错篇,包括11~12章,主要介绍了 Hadoop管理和Hadoop容错。
第3篇Hadoop实战篇,包括13~16章,主要介绍了综合实战1:Hadoop中的数据访问;综合实战2:一个简单的分布式的Grep;综合实战3:打造一个搜索引擎;综合实战4:移动通信信令监测与查询。
本书读者对象
· Hadoop初学者。
· 想全面、系统地学习Hadoop的人员。
· Hadoop技术爱好者。
· 利用Hadoop进行编程和开发的技术人员。
· 大中专院校的学生和老师。
· 相关培训机构的学员。
由于编者水平有限,加之时间较紧,书中难免存在疏漏和错误之处,敬请读者批评指正,编者也会定期在www.rzchina.net进行答疑解惑。