本书阐述了Hadoop生态圈中的高级概念,并通过安全机制、监测机制和数据管理机制构建高性能的Hadoop数据管线。
除此之外,本书还利用Apache Spark 和Flink改进企业级应用程序,并考查Hadoop的内部工作机制,包括一些真实案例的构建方案。同时,我们还将通过Hadoop 3数据平台探讨企业级应用程序的最佳实践方案,其中涉及授权和身份验证机制。随后,我们将学习如何在Hadoop中对数据进行建模、深入了解基于Hadoop 3的分布式计算机制,并查看不同的数据批处理模式。
最后,本书讨论如何高效地继承Hadoop生态圈中的组件,以实现高速、可靠的大数据管线。
读者范围
如果读者希望掌握Hadoop的高级概念,进而成为一名大数据的专业人士,那么本书将十分适合您,如果读者已经具备一定的Hadoop基础,并希望进一步强化Hadoop生态圈所涉及的专业知识,本书将十分有用。阅读本书时,读者应具备Java编程和Hadoop方面的基础知识。
本书内容
第1章讨论Hadoop的主要概念并简要描述Hadoop的起源。另外,本章还进一步揭示Hadoop 3的特征,同时还提供Hadoop生态圈和不同Hadoop版本的逻辑概述。
第2章主要讨论Hadoop分布式文件系统及其内部概念。另外,本章还深度介绍HDFS操作、Hadoop 3中HDFS所加入的新功能,以及HDFS缓存机制和HDFS Federation。
第3章介绍YARN资源管理框架,并重点考查提交至YARN中的高效的作业调度机制,同时还简要地介绍YARN中调度器的优缺点。此外,本章还重点讨论Hadoop 3中引入的YARN 3特性,特别是REST API。随后,介绍Apache Slider的架构和内部机制,其中涉及Apache Tez、分布式处理引擎,进而优化运行于YARN上的应用程序。
第4章讨论分布式批处理引擎,即MapReduce。另外,本章还介绍MapReduce的内部概念,并详细考查各项操作步骤。随后,本章重点讨论某些重要的参数和MapReduce中的公共模式。
第5章探讨Hadoop生态圈中一些较为重要的、与SQL类似的引擎。首先考查Presto架构的详细内容,随后介绍某些较为常见的连接器示例。然后,本章考查目前较为流行的查询引擎Hive,并介绍其架构和高级概念。最后,本章考查Impala,一个高速处理引擎及其内部的架构概念。
第6章重点介绍不同的处理引擎,并单独讨论每种处理引擎,包括与Spark框架内部工作机制相关的详细内容,以及弹性分布式数据集(RDD)的概念。另外,本章还考查Apache Flink和Apache Storm/Heron的内部机制。
第7章探讨Hadoop平台上所使用的一些重要工具,包括用于ETL操作的Apache Pig及其架构中的一些概念和操作。其间涉及Apache Kafka和Apache Flume的详细内容。另外,Apache HBase也是本章讨论的重点。
第8章首先介绍一些与文件格式相关的高级概念,随后重点讨论数据压缩和序列化概念。接下来,本章依次讨论数据处理、数据访问以及相关示例。
第9章主要关注Hadoop中微批量应用程序的设计和实现。本章讨论如何执行流数据摄入,以及消息队列所扮演的角色。此外,本章还进一步解释某些通用的数据处理模式,以及低延迟设计方面的一些思考。此类概念将与实时和微批量处理示例结合使用。
第10章学习如何在Hadoop平台上实现设计和搭建机器学习应用程序,并尝试处理Hadoop中常见的一些机器学习挑战性问题和解决方案。另外,本章还介绍不同的机器学习库和处理引擎、机器学习中的一些常见操作步骤,并通过具体学习用例加以讲解。
第11章主要介绍云端的Hadoop操作,包括与Hadoop生态圈在云端的表现方式相关的详细信息、如何管理云端的资源、如何创建云端中的数据管线,以及如何确保云之间的高可用性。
第12章介绍对Hadoop集群进行基准测试和分析的工具和技术。除此之外,本章还考查不同Hadoop负载的分析方法。
第13章讨论Hadoop集群的安全机制,包括Hadoop安全的基本概念、实现和设计Hadoop的权限和验证机制。
第14章是第13章的扩展内容,包括Hadoop网络和数据安全的某些高级概念、网络分段、边界安全以及行/列级别的安全。此外,本章还讨论加密Hadoop中的移动数据和静止数据。
第15章介绍Hadoop监测机制的基本内容。本章被划分为两个主要部分。其中,第一部分讨论通用的Hadoop监测机制,第二部分则关注识别安全漏洞的特定监测机制。
背景知识
设置Hadoop并不需要过多的硬件配置。具体来说,最低配置是一台机器/虚拟机;而3台机器则是推荐配置方案。
这里,读者应具备基本的Java应用程序编写和运行经验,以及某些开发工具的使用经验,如Eclipse。
下载示例代码文件
读者可访问http://www.packt.com并通过个人账户下载本书的示例代码文件。在http:// www.packt.com/support网站注册成功后,我们将以电子邮件的方式将相关文件发与读者。
读者可根据下列步骤下载代码文件。
(1)登录www.packt.com并在网站注册。
(2)选择Support选项卡。
(3)单击CODE DOWNLOADS & ERRATA。
(4)在Search文本框中输入本书英文名称的一部分Mastering Hadoop 3并执行后续命令。
当文件下载完毕后,确保使用下列最新版本软件解压文件夹。
? Windows系统下的WinRAR/7-Zip。
? Mac系统下的Zipeg/iZip/UnRarX。
? Linux系统下的7-Zip/PeaZip。
另外,读者还可访问GitHub获取本书的代码包,对应网址为https://github.com/ PacktPublishing/Mastering-Hadoop-3。
此外,读者还可访问https://github.com/PacktPublishing/网站,以了解丰富的代码和视频资源。
下载彩色图像
读者可访问https://www.packtpub.com/sites/default/files/downloads/9781788620444_ ColorImages.pdf下载本书的PDF文件,其中包含了书中展示的屏幕截图和图表的彩色图像。
代码操作
读者可访问http://bit.ly/2XvW2SD链接查看运行代码的视频内容。
本书约定
本书在文本内容方面包含以下约定。
(1)代码块则通过下列方式设置。
dfs.ha.namenodes.mycluster
nn1,nn2,nn3
(2)代码中的重点内容则采用粗体表示,示例如下。
dfs.ha.namenodes.mycluster
nn1,nn2,nn3
(3)任何命令行输入或输出都采用如下所示的粗体代码形式。
hdfs dfsadmin -fetchImage /home/packt
(4)本书还使用了以下两个图标。
图标表示较为重要的说明事项。
图标表示提示信息和操作技巧。
读者反馈和客户支持
欢迎读者对本书提出建议或意见并予以反馈。
若读者对本书有任何疑问,可向customercare@packtpub.com发送邮件,并以书名作为邮件标题。我们将竭诚为您服务。
勘误表
尽管我们希望做到尽善尽美,但疏漏在所难免。如果读者发现谬误之处,无论是文字错误抑或是代码错误,还望不吝赐教。对此,读者可访问www.packt.com/submit-errata,选取对应书籍,输入并提交相关问题的详细内容。
版权须知
一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现本书任意形式的副本,请告知我们网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packtpub.com。
若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问authors.packtpub.com。