发表于2024-12-24
第1章 Hadoop概述 1
1.1 商业分析与大数据 2
1.1.1 Hadoop的组件 3
1.1.2 Hadoop分布式文件系统(HDFS) 3
1.1.3 MapReduce是什么 4
1.1.4 YARN是什么 5
1.2 ZooKeeper是什么 6
1.3 Hive是什么 7
1.4 与其他系统集成 8
1.4.1 Hadoop生态系统 9
1.4.2 数据集成与Hadoop 11
1.5 小结 16
第2章 存储 19
2.1 Hadoop HDFS的基础知识 20
2.1.1 概念 21
2.1.2 架构 25
2.1.3 接口 29
2.2 在分布式模式下设置HDFS群集 35
2.3 HDFS的高级特性 40
2.3.1 快照 41
2.3.2 离线查看器 44
2.3.3 分层存储 52
2.3.4 纠删码 55
2.4 文件格式 59
2.5 云存储 63
2.6 小结 64
第3章 计算 65
3.1 Hadoop MapReduce的基础 66
3.1.1 概念 66
3.1.2 架构 69
3.2 如何启动MapReduce作业 76
3.2.1 编写Map任务 77
3.2.2 编写reduce任务 79
3.2.3 编写MapReduce作业 80
3.2.4 配置 83
3.3 MapReduce的高级特性 85
3.3.1 分布式缓存 85
3.3.2 计数器 87
3.3.3 作业历史服务器 89
3.4 与Spark作业的区别 91
3.5 小结 92
第4章 用户体验 93
4.1 Apache Hive 94
4.1.1 安装Hive 96
4.1.2 HiveQL 97
4.1.3 UDF/SerDe 103
4.1.4 Hive调优 105
4.2 Apache Pig 106
4.2.1 安装Pig 107
4.2.2 Pig Latin 108
4.3 UDF 110
4.4 Hue 111
4.5 Apache Oozie 114
4.5.1 安装Oozie 115
4.5.2 Oozie的工作原理 118
4.5.3 工作流/协调器 119
4.5.4 Oozie CLI 124
4.6 小结 124
第5章 与其他系统集成 125
5.1 Apache Sqoop 126
5.2 Apache Flume 130
5.3 Apache Kafka 136
5.3.1 工作原理 138
5.3.2 Kafka Connect 141
5.3.3 流处理 143
5.4 Apache Storm 144
5.4.1 工作原理 145
5.4.2 Trident 148
5.4.3 Kafka集成 149
5.5 小结 152
第6章 Hadoop安全 153
6.1 提升Hadoop群集安全性 154
6.1.1 边界安全 154
6.1.2 Kerberos认证 156
6.1.3 Hadoop中的服务级授权 162
6.1.4 用户模拟 167
6.1.5 提升HTTP信道的安全性 170
6.2 提升数据安全性 174
6.2.1 数据分类 175
6.2.2 将数据传到群集 176
6.2.3 保护群集中的数据 182
6.3 增强应用程序安全性 189
6.3.1 YARN架构 189
6.3.2 YARN中的应用提交 190
6.4 小结 195
第7章 自由的生态圈:Hadoop与Apache BigTop 197
7.1 基础概念 198
7.1.1 软件栈 199
7.1.2 测试栈 200
7.1.3 在我的笔记本电脑上工作 201
7.2 开发定制的软件栈 201
7.2.1 Apache Bigtop:历史 201
7.2.2 Apache Bigtop:概念和哲学思想 202
7.2.3 项目结构 204
7.2.4 谈谈构建系统 205
7.2.5 工具链和开发环境 206
7.2.6 BOM定义 207
7.3 部署 208
7.3.1 Bigtop Provisioner 208
7.3.2 群集的无主节点Puppet部署 209
7.3.3 使用Puppet进行配置管理 213
7.4 集成验证 215
7.4.1 iTests和验证应用程序 216
7.4.2 栈集成测试开发 217
7.4.3 栈的验证 220
7.4.4 群集故障测试 221
7.4.5 栈的冒烟测试 222
7.5 将所有工作组合在一起 223
7.6 小结 224
第8章 Hadoop软件栈的In-Memory计算 227
8.1 In-Memory计算简介 229
8.2 Apache Ignite:内存优先 231
8.2.1 Apache Ignite的系统体系架构 232
8.2.2 数据网格 233
8.2.3 高可用性讨论 236
8.2.4 计算网格 237
8.2.5 服务网格 238
8.2.6 内存管理 238
8.2.7 持久化存储 240
8.3 使用Ignite加速旧式Hadoop 240
8.3.1 In-Memory存储的好处 241
8.3.2 内存文件系统:HDFS缓存 242
8.3.3 In-Memory MapReduce 243
8.4 Apache Ignite的高级用法 247
8.4.1 Spark和Ignite 247
8.4.2 共享状态 249
8.4.3 Hadoop上的In-Memory SQL 251
8.4.4 使用Ignite的SQL 252
8.4.5 使用Apache Ignite进行流处理 255
8.5 小结 256
术语表 259
1.1 商业分析与大数据
商业分析通过统计和业务分析对数据进行研究。Hadoop 允许你 在其数据存储中进行业务分析。这些结果使得组织和公司能够做出 有利于自身的更好商业决策。
为加深理解,让我们勾勒一下大数据的概况。鉴于所涉及数据 的规模,它们会分布于大量存储和计算节点上,而这得益于使用 Hadoop。由于Hadoop 是分布式的(而非集中式的),因而不具备关系 型数据库管理系统(RDBMS)的特点。这使得你能够使用Hadoop 所 提供的大型数据存储和多种数据类型。
第1 章 Hadoop 概述
3
例如,让我们考虑类似Google、Bing 或者Twitter 这样的大型 数据存储。所有这些数据存储都会随着诸如查询和庞大用户基数等 活动事件而呈现出指数增长。Hadoop 的组件可以帮助你处理这些大 型数据存储。
类似Google 这样的商业公司可使用Hadoop 来操作、管理其数 据存储并从中产生出有意义的结果。通常用于商业分析的传统工具 并不旨在处理或分析超大规模数据集,但Hadoop 是一个适用于这 些商业模型的解决方案。
1.1.1 Hadoop 的组件
Hadoop Common 是Hadoop 的基础,因为它包含主要服务和基 本进程,例如对底层操作系统及其文件系统的抽象。Hadoop Common 还包含必要的Java 归档(Java Archive,JAR)文件和用于启 动Hadoop 的脚本。Hadoop Common 包甚至提供了源代码和文档, 以及贡献者的相关内容。如果没有Hadoop Common,你无法运行 Hadoop。
与任何软件栈一样,Apache 对于配置Hadoop Common 有一定 要求。大体了解Linux 或Unix 管理员所需的技能将有助于你完成配 置。Hadoop Common 也称为Hadoop Stack,并不是为初学者设计的, 因此实现的速度取决于你的经验。事实上,Apache 在其网站上明确 指出,如果你还在努力学习如何管理Linux 环境的话,那么Hadoop 并不是你能够应付的任务。建议在尝试安装Hadoop 之前,你需要 先熟悉此类环境。
1.1.2 Hadoop 分布式文件系统(HDFS)
在Hadoop Common 安装完成后,是时候该研究Hadoop Stack 的其余组件了。HDFS(Hadoop Distributed File System)提供一个分布 式文件系统,设计目标是能够运行在基础硬件组件之上。大多数企 业被其*小化的系统配置要求所吸引。此环境可以在虚拟机(Virtual Hadoop 大数据解决方案 Machine,VM)或笔记本电脑上完成初始配置,而且可以升级到服务 器部署。它具有高度的容错性,并且被设计为能够部署在低成本的 硬件之上。它提供对应用程序数据的高吞吐量访问,适合于面向大 型数据集的应用程序。
在任何环境中,硬件故障都是不可避免的。有了HDFS,你的 数据可以跨越数千台服务器,而每台服务器上均包含一部分基础数 据。这就是容错功能发挥作用的地方。现实情况是,这么多服务器 总会遇到一台或者多台无法正常工作的风险。HDFS 具备检测故障 和快速执行自动恢复的功能。
HDFS 的设计针对批处理做了优化,它提供高吞吐量的数据访 问,而非低延迟的数据访问。运行在HDFS 上的应用程序有着大型 数据集。在HDFS 中一个典型的文件大小可以达到数百GB 或更大, 所以HDFS 显然支持大文件。它提供高效集成数据带宽,并且单个 群集可以扩展至数百节点。
Hadoop 是一个单一功能的分布式系统,为了并行读取数据集并 提供更高的吞吐量,它与群集中的机器进行直接交互。可将Hadoop 想象为一个动力车间,它让单个CPU 运行在群集中大量低成本的机 器上。既然已经介绍了用于读取数据的工具,下一步便是用 MapReduce 来处理它。
1.1.3 MapReduce 是什么
MapReduce 是Hadoop 的一个编程组件,用于处理和读取大型 数据集。MapReduce 算法赋予了Hadoop 并行化处理数据的能力。 简而言之,MapReduce 用于将大量数据浓缩为有意义的统计分析结 果。MapReduce 可以执行批处理作业,即能在处理过程中多次读取 大量数据来产生所需的结果。
对于拥有大型数据存储或者数据湖的企业和组织来说,这是一 种重要的组件,它将数据限定到可控的大小范围内。在Hadoop *近的发展中,另有一款称为YARN 的组件已经可 用于进一步管理Hadoop 生态系统。 1.1.4 YARN 是什么 YARN 基础设施(另一个资源协调器)是一项用于提供执行应用 程序所需的计算资源(内存、CPU 等)的框架。 YARN 有什么诱人的特点或是性质?其中两个重要的部分是资 源管理器和节点管理器。让我们来勾勒YARN 的框架。首先考虑一 个两层的群集,其中资源管理器在顶层(每个群集中只有一个)。资 Hadoop 大数据解决方案 6 源管理器是主节点。它了解从节点所在的位置(较底层)以及它们拥 有多少资源。它运行了多种服务,其中*重要的是用于决定如何分 配资源的资源调度器。节点管理器(每个群集中有多个)是此基础设 施的从节点。当开始运行时,它向资源管理器声明自己。此类节点 有能力向群集提供资源,它的资源容量即内存和其他资源的数量。 在运行时,资源调度器将决定如何使用该容量。Hadoop 2 中的YARN 框架允许工作负载在各种处理框架之间动态共享群集资源,这些框 架包括MapReduce、Impala 和Spark。YARN 目前用于处理内存和 CPU,并将在未来用于协调其他资源,例如磁盘和网络I/O。
……
Hadoop是一个在Apache 2.0许可证下可用的开源项目。它能在分布式服务器群集中管理和存储超大规模的数据集。Hadoop*具优势的特性之一是其容错性,这使得大数据应用在遇到失败事件时能够继续正常运行。使用Hadoop的另一个优势是可扩展性。这种编程逻辑拥有从单机向大量服务器扩展的潜质,而每台服务器均具备本地计算和存储能力。
本书读者对象
本书面向使用Hadoop来执行数据相关作业的任何人,也适合希望更好地从任意数据存储中获取有意义信息的读者。这包括大数据解决方案架构师、Linux系统和大数据工程师、大数据平台工程师、Java程序员和数据库管理员。
如果你有兴趣学习关于Hadoop的更多知识并且想了解如何抽取特定组件做进一步分析或研究,那么这本书正好适合你。
阅读本书的前提
你应该拥有开发经验并且了解Hadoop的基础知识,而且要对在实际环境中应用它感兴趣。
示例的源代码可以从www.wrox.com/go/professionalhadoop或者https://github.com/backstopmedia/hadoopbook下载。
本书的结构
本书共分为8章,内容如下:
第1章:Hadoop概述
第2章:存储
第3章:计算
第4章:用户体验
第5章:与其他系统集成
第6章:Hadoop安全
第7章:自由的生态圈:Hadoop与Apache BigTop
第8章:Hadoop软件栈的In-Memory计算
约定
为帮助你尽可能地理解文章含义并抓住重点,我们在本书中使用了大量约定。
文中所使用的样式如下:
● 当介绍新术语和重要词语时,我们会突出展现它们。
● 我们像这样展示正文中的代码:persistence.properties。
● 我们以此种样式来展示本书中的所有代码片段:
FileSystem fs = FileSystem.get(URI.create(uri), conf);
InputStream in = null;
try {
● 我们以这样的字体展示URL:
http://:50075
p2p.wrox.com
要与作者和同行讨论,请加入http://p2p.wrox.com上的P2P论坛。这个论坛是一个基于Web的系统,便于你张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给你传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上探讨问题。
在http://p2p.wrox.com上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤:
(1) 进入http://p2p.wrox.com,单击Register链接。
(2) 阅读使用协议,并单击Agree按钮。
(3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按钮。
(4) 你会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。
加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。
关于使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。
源代码
读者在学习本书中的示例时,可以手动输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从站点http://www.wrox.com下载。具体而言,本书的代码可以通过网站http://www.wrox.com/go/professionalhadoop上的Download Code选项卡下载。
还可以在站点http://www.wrox.com上通过输入ISBN(本书的ISBN为9781119267171)来获取本书的代码。也可以扫描封底的二维码获取本书的源代码。当前所有Wrox图书的代码下载的完整列表都可以通过www.wrox.com/dynamic/books/download.aspx站点来获取。
下载代码后,只需要用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入http://www.wrox.com/dynamic/books/ download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。
勘误表
尽管我们已经尽了各种努力来保证文章
Hadoop大数据解决方案/大数据应用与技术丛书 下载 mobi epub pdf txt 电子书 格式
Hadoop大数据解决方案/大数据应用与技术丛书 下载 mobi pdf epub txt 电子书 格式 2024
Hadoop大数据解决方案/大数据应用与技术丛书 下载 mobi epub pdf 电子书早上下单,下午收货,很快很及时。
评分开了P会员,优惠券用不完,再也不去猫家购物了,以前在猫家每个月都要采购几万块,开发票一点都不爽快,以后就认准这里采购了。
评分又买了一大堆,还没看内容,包装还好!
评分写的很好,做数仓的人值得花时间去研读。
评分书的质量非常好,包装精美,快递迅速,小哥服务态度好
评分书的质量不错,内容也不错,对数据仓库有醍醐灌顶式的认知,但阅读起来有点费劲,可以作为工具书来参考。
评分看了几张,感觉还不错。内容比较多
评分618期间200-100,然后用券200-80,虽然总价比活动9前提了很多,但是到手价还是比以前低,比较划算。
评分入门可以 ~~~~~
Hadoop大数据解决方案/大数据应用与技术丛书 mobi epub pdf txt 电子书 格式下载 2024