正版二手图书,可开发票,请放心购买。
¥ 11.44 1.7折 ¥ 69 九品
仅1件
作者【美】Douglas Eadline(道格拉斯•伊德理恩)
出版社电子工业出版社
ISBN9787121288050
出版时间2016-05
装帧平装
开本其他
定价69元
货号972073225490644999
上书时间2024-12-23
Apache Hadoop 2 已改变了数据分析的格局。Hadoop 2 生态系统已经超越了单一的MapReduce 数据处理方法论和框架。也就是说,Hadoop 2 为Hadoop 1 的方法论提供几乎任何类型的数据处理,并且与第1 版的脆弱 MapReduce 范式完全向后兼容。
这种变化已经对数据处理和数据分析的许多领域产生了显著的影响。联机数据的数量增长要求有可扩展的数据分析新方法。正如第1 章将要讨论的,Hadoop 数据湖的概念体现了从许多既定的方法向联机数据的使用和储存的范式转变。Hadoop 2 安装的是一个可扩展的平台,它可以成长并同时适应数据量的增加及新处理模型的使用。
因此,“Hadoop 方法”非常重要,并且不应该被作为一个简单的只有“一技之长”的大数据应用程序。此外,Hadoop 开放源代码的性质和很多周边的生态系统为它的采用提供了一个重要激励。感谢Apache 软件基金会(ASF),Hadoop 一直是一个开放源码项目,其内部运作机制是对所有人都开放的。开放模型使得供应商和用户拥有一个共同的目标,而不存在可能的封锁或法律障碍致使像Hadoop 那样一个庞大而重要的项目分裂。本书中使用的所有软件都是开源的,并且是免费提供的。指向这些软件的链接位于每一章末尾和附录C 中。
本书重点
正如书名所示,本书是写给大忙人的Hadoop 2。根据设计,大多数主题都是概述性的,它们用一个示例来说明,并保留一些未尽事宜。事实上,这里的许多工具和主题都在别处被作为完全独立的书来介绍。因此,编写这种快速入门指南的最大障碍是,在决定不包括哪些内容的同时,又让读者领会到哪些内容是重要的。
为此,所有主题都按照我称之为hello-world.c 经验的方式来设计。那就是,首先提供工具或服务的作用的一些背景知识,然后提供可以让读者快速入门的从头到尾的示例,最后提供可以找到额外的信息和更多细节的资源。这种方法允许读者对简单的工作示例进行更改,并实现变化,使之变成能解决读者特定问题的某种东西。对于我们大多数人来说,我们的编程经验都是从对工作示例进行增量更改开始的——所以本书中的方法应该是大家所熟悉的。
本书的受众
本书是为那些想要了解Hadoop 2,但又不想陷入技术细节的读者准备的。新用户、系统管理员和开发运维人员都应该能够通过浏览本书快速获得很多重要的Hadoop 主题和工具。尤其是,缺乏Hadoop 经验的读者应该发现本书非常有用,即使他们没有Java编程经验也没关系。读者最好具备使用Linux 命令行工具的经验,因为所有示例都涉及用命令行与Hadoop 交互。
当前正在使用Hadoop 1 的用户和管理员也能从本书获得有价值的知识。Hadoop 2的变化是非常重大的,同时,本书对YARN 和MapReduce 框架的一些变化的讨论也是非常重要的。
本书的结构
本书的基本结构改编自Addison-Wesley 出版的我的视频教程——Hadoop FundamentalsLive Lessons(2e)和Apache Hadoop YARN Fundamentals Live Lessons,书中几乎所有的示例都能在视频中找到同样的。有些读者可能会发现,把观看视频教程与阅读本书结合起来效果更好,因为我仔细地逐句执行了所有的示例。
本书从Apache Hadoop ? YARN: Moving beyond MapReduce and Batch Processingwith Apache Hadoop? 2 一书中借用了几个小部分,那是我与他人合著的。如果读者想要研究更多的YARN 应用开发细节,可以考虑阅读那本书并观看其配套视频。
本书大部分内容使用了适用于Hadoop 的Hortonworks 数据平台(HDP)。HDP 是由Hortonworks 提供的完全开源的Hadoop 发布版本。虽然也可以下载并安装核心Hadoop系统和工具(第2 章中将讨论),但使用集成的发布版本减少了“自己动手”的方法可能产生的很多问题。此外,Apache Ambari 是不容错过的出色安装和管理图形化的工具,并且它支持Hortonworks HDP 软件包。本书使用HDP 2.2 和Ambari 1.7 描述。就在我写这篇序言时,Hortonworks 刚刚宣布发布配备Apache Ambari 2.0 的HDP 2.3 版本。(站在Hadoop 世界的曲线前沿要做那么多工作!)幸运的是,它的基本原理保持不变,所有示例仍然都是切题的。
本书各章的安排,便于为读者提供灵活的介绍。在附录B“开始流程图和故障排除指南”中,有两条路径可以遵循:阅读第1 章、第3 章和第5 章,然后开始运行示例,或直接跳到第4 章运行其中的示例。如果你没有Hadoop 环境,第2 章提供在各种系统,包括笔记本电脑或台式计算机、集群,甚至在云上安装Hadoop 的方法。可能在运行完示例之后,你会再回过头来阅读背景知识的章节。
第1 章提供有关Hadoop 技术和历史的基本背景知识。介绍Hadoop 数据湖并概述Hadoop 1 中的MapReduce 过程。介绍了在Hadoop 2 中的巨大变化,并把YARN 资源管理器作为几乎任何计算模型的前进方向来介绍。最后,简要概述了组成Hadoop 生态系统的很多软件项目。这一章为本书余下的部分提供了基础。
如果你需要访问一个Hadoop 系统,第2 章提供了一系列的安装攻略。它也解释了核心Hadoop 服务及其配置方法。本章对选择硬件和软件环境提供了常规建议,但它的重点是提供一个平台来了解Hadoop。幸运的是,有两种方法可以做到这一点,不需要购买或租用任何硬件。Hortonworks Hadoop 沙箱提供了一个可以在几乎任何平台上运行的Linux 虚拟机。沙箱是完整的Hadoop 安装,并提供了用以研究Hadoop 的环境。作为沙箱的替代方法,在一台Linux 机器上的Hadoop 安装也能提供一个学习平台并提供一些Hadoop 核心组件的解释。第2 章还涉及集群方式安装,它采用Apache Ambari 用于本地集群安装,或使用Apache Whirr 进行云部署。
所有的Hadoop 应用程序都使用Hadoop 分布式文件系统(HDFS)。第3 章介绍了一些基本的HDFS 功能并提供了有关如何浏览和使用文件系统的快速提示。本章也有一些 HDFS编程的示例。它提供重要的背景知识,这些应该在尝试后面的章节中的示例之前查阅。
第4 章通过逐步讲解提供了Hadoop 实例和基准测试的展示说明。作为一种观察应用进展的方式,对Hadoop 资源管理器的Web 图形用户界面进行了介绍。本章最后总结了控制Hadoop MapReduce 作业的一些技巧。学习这一章可以了解Hadoop 应用程序运行和操作的方式。
虽然MapReduce 编程模型在本质上是简单的,但它在集群上运行会出现一些混乱。第5 章使用简单的示例提供了MapReduce 编程模型的基本简介。本章用一个简化的并行HadoopMapReduce 过程演练来总结。本章还将帮助你了解基本的Hadoop MapReduce 术语。
如果你对Hadoop 底层编程感兴趣,第6 章介绍了Hadoop MapReduce 编程。它涵盖了几种基本方法,包括Java、Python 流接口和C++管道接口。它还用一个简短的示例说明了如何查看应用程序日志。本章对于使用Hadoop 不是必需的。事实上,许多Hadoop用户都是从第7 章讨论的高级别工具开始起步的。
虽然许多应用程序已被编写为在原生的Hadoop Java 接口上运行,但还有种类繁多的工具都提供高层次的编程和数据移动方法。第7 章通过实例介绍了必需的Hadoop 工具,包括Apache Pig(脚本语言)、Apache Hive(类似SQL 的语言)、Apache Sqoop(RDMS导入/导出)和Apache Flume(串行数据导入),还提供一个示例来演示如何使用Oozie工作流管理器。本章最后以Apache HBase(BigTable 的数据库)的示例结束。
如果你有兴趣学习更多关于Hadoop YARN 应用程序的内容,第8 章介绍了Hadoop的非MapReduce 应用程序。YARN 分布式Shell,给出一个简单的示例,进行包括YARN应用程序如何在Hadoop 2 下工作的讨论。本章还提供了最新的非MapReduce YARN 应用程序的描述。
如果你用第2 章的Apache Ambari 安装Hadoop,第9 章介绍了其功能并提供了一些示例来演示如何在真正的Hadoop 集群上使用Ambari。本章也给出了重新启动Hadoop服务和更改全系统Hadoop 属性的Ambari 功能和流程。本章所述的基本步骤将在第10章中用来对集群做出管理性更改。
第10 章提供了一些基本的Hadoop 管理性程序。管理员可在本章找到基本流程和建议信息,其他用户也可以从本章学到如何针对其工作负载来配置HDFS、YARN 和容量调度程序。
有关本书配套网页的信息、入门流程图和常规的Hadoop 故障排除指南,请参考附录。附录还包括资料总结页和安装Apache Hue(一种高级别Hadoop 图形用户界面)和Apache Spark(一种流行的非MapReduce 编程模型)的步骤。
最后,Hadoop 生态系统继续迅速增长。本书有意不包括许多现有的Hadoop 应用程序和工具,因为若将其列入,本书将变成更冗长和更拖沓的Hadoop 2 简介。并且,还有更多的工具和应用程序正在形成!鉴于Hadoop 生态系统的动态性,本书介绍Apache Hadoop2 的宗旨是为了指明方向和一些重要的关键点,以便帮助读者研究Hadoop 2 数据湖。
本书约定
代码和文件参考都采用等宽字体显示。因为太长而无法在一行中容纳的代码输入行,在本书中都用续行符号:?表示。在页边界换行的长输出行则没有此符号。
配套代码
请参阅附录A“本书网页和代码下载”,获得本书中使用的所有代码的地址。
致谢
有些图表和示例受雅虎Hadoop 教程(https://developer.yahoo.com/hadoop/tutorial/)、阿帕奇软件基金会(ASF, Apache Software Foundation , http://www.apache.org )、Hortonworks(http://hortonworks.com)和Michael Noll(http://www.michael-noll.com)启发并取自其中。任何复制的条目要么已由作者授予使用权限,要么在开放共享许可下获得。
很多人一直在幕后为本书的出版默默工作。感谢花时间仔细阅读本书初稿的审阅者:Jim Lux、Prentice Bisbal、Jeremy Fischer、Fabricio Cannini、Joshua Mora、Matthew Helmke、Charlie Peck 和Robert P. J. Day。你们的反馈意见非常有价值并有助于使本书内容更为可靠。
感谢Addison-Wesley 的Debra Williams Cauley,你的努力和在中央车站牡蛎酒吧办公使得写书过程几乎并不困难。我也不能忘记感谢我的孩子们:Emily、Marlee、Carla和Taylor——是的,又一本你们看不懂的书。最后,感谢我耐心和漂亮的妻子Maddy 对我的一贯支持。
Douglas Eadline,博士,作为一个Linux 集群HPC 革命的践行者和记录者开始他的职业生涯,而现在他在记录大数据分析。从开始第一份操作文档以来,道格写了数百篇文章、白皮书,以及说明文档,涵盖高性能计算(HPC)的几乎所有方面。在2005年启动和编辑颇受欢迎的ClusterMonkey.net 网站之前,他担任ClusterWorld 杂志的主编,并曾是Linux 杂志的HPC 资深编辑。
他具有多方面的HPC 实际操作经验,包括硬件和软件设计、基准测试、存储、GPU、云计算和并行计算。
目前, 他是一名作家和 HPC 行业顾问, 并且是Limulus 个人集群项目(http://limulus.basement-supercomputing.com)的领导。他是Addison-Wesley 出版的HadoopFundamentals LiveLessons 和Apache Hadoop YARN Fundamentals LiveLessons 教学视频的作者和Apache Hadoop? YARN: Moving beyond MapReduce and Batch Processing withApache Hadoop? 2 一书的合著者。
卢涛,专业社区ITPUB Oracle开发版版主。1995年参加工作,2001年转到IT部门从事C/C++软件开发,2004年开始做系统分析和Oracle数据库方面工作。参加过多个全国性普查数据处理项目的开发和运维,目前主要从事统计报表联网填报系统的后台支持和优化。曾参与编写《剑破冰山―Oracle开发的艺术》一书,并翻译了数本Oracle管理、开发和性能优化;C/C++开发、Web开发等方面的书籍。
1 背景和概念 1
定义Apache Hadoop 1
Apache Hadoop 的发展简史 3
大数据的定义 4
Hadoop 作为数据湖 5
使用Hadoop:管理员、用户或两种身份兼具 7
原始的MapReduce. 7
Apache Hadoop 的设计原则 8
Apache Hadoop MapReduce 示例 8
MapReduce 的优势 10
Apache Hadoop V1 MapReduce 操作 11
使用Hadoop V2 超越MapReduce 13
Hadoop V2 YARN 操作设计 14
Apache Hadoop 项目生态系统 16
总结和补充资料 18
2 安装攻略 21
核心Hadoop 服务 21
Hadoop 配置文件 22
规划你的资源 23
硬件的选择 23
软件的选择 24
在台式机或笔记本电脑上安装 25
安装Hortonworks HDP 2.2 沙箱 25
用Apache 源代码安装Hadoop 32
配置单节点YARN 服务器的步骤 33
运行简单的MapReduce 示例 42
安装 Apache Pig(可选) 42
安装Apache Hive(可选) 43
使用Ambari 安装Hadoop 44
执行Ambari 安装 45
撤消Ambari 安装 59
使用Apache Whirr 在云中安装Hadoop 59
总结和补充资料 65
3 HDFS 基础知识 67
HDFS 设计的特点 67
HDFS 组件 68
HDFS 块复制 71
HDFS 安全模式 72
机架的识别 73
NameNode 高可用性 73
HDFS NameNode 联邦 75
HDFS 检查点和备份 76
HDFS 快照 76
HDFS NFS 网关 76
HDFS 用户命令 77
简要HDFS 命令参考 77
一般HDFS 命令 78
列出HDFS 中的文件 79
在HDFS 中创建一个目录 80
将文件复制到HDFS 80
从HDFS 复制文件 81
在HDFS 中复制文件 81
删除在HDFS 中的文件 81
删除在HDFS 中的目录 81
获取HDFS 状态报告 81
HDFS 的Web 图形用户界面 82
在程序中使用HDFS 82
HDFS Java 应用程序示例 82
HDFS C 应用程序示例 86
总结和补充资料 88
4 运行示例程序和基准测试程序 91
运行MapReduce 示例 91
列出可用的示例 92
运行Pi 示例 93
使用Web 界面监控示例 95
运行基本Hadoop 基准测试程序 101
运行Terasort 测试 101
运行TestDFSIO 基准 102
管理Hadoop MapReduce 作业 104
总结和补充资料 105
5 Hadoop MapReduce 框架 107
MapReduce 模型 107
MapReduce 并行数据流. 110
容错和推测执行 114
推测执行. 114
Hadoop MapReduce 硬件 115
总结和补充资料 115
6 MapReduce 编程 117
编译和运行Hadoop WordCount 的示例 117
使用流式接口 122
使用管道接口 125
编译和运行Hadoop Grep 链示例 127
调试MapReduce. 131
作业的列举、清除和状态查询 131
Hadoop 日志管理 131
启用YARN 日志聚合 132
Web 界面日志查看 133
命令行日志查看 133
总结和补充资料 135
7 基本的Hadoop 工具 137
使用Apache Pig 137
Pig 示例演练 138
使用Apache Hive 140
Hive 示例演练 140
更高级的Hive 示例 142
使用Apache Sqoop 获取关系型数据 145
Apache Sqoop 导入和导出方法 145
Apache Sqoop 版本更改 147
Sqoop 示例演练 148
使用Apache Flume 获取数据流 155
Flume 的示例演练 157
使用Apache Oozie 管理 Hadoop 工作流 160
Oozie 示例演练 162
使用Apache HBase 170
HBase 数据模型概述 170
HBase 示例演练 171
总结和补充资料 176
8 Hadoop YARN 应用程序 179
YARN 分布式shell 179
使用YARN 分布式shell 180
一个简单的示例 181
使用更多的容器 182
带有shell 参数的分布式 shell 示例 183
YARN 应用程序的结构 185
YARN 应用程序框架 187
Hadoop MapReduce 188
Apache Tez 188
Apache Giraph 189
Hoya:HBase on YARN 189
Dryad on YARN 189
Apache Spark 189
Apache Storm 190
Apache REEF:可持续计算执行框架 190
Hamster:Hadoop 和MPI 在同一集群 190
Apache Flink:可扩展的批处理和流式数据处理 191
Apache Slider:动态应用程序管理 191
总结和补充资料 192
9 用Apache Ambari 管理Hadoop 193
快速浏览 Apache Ambari 194
仪表板视图 194
服务视图. 197
主机视图. 199
管理视图. 201
查看视图. 201
Admin 下拉菜单 202
更改Hadoop 属性 206
总结和补充资料 212
10 基本的Hadoop 管理程序 213
基本的Hadoop YARN 管理 214
停用YARN 节点 214
YARN WebProxy 214
使用 JobHistoryServer 215
管理YARN 作业 215
设置容器内存 215
设置容器核心 216
设置MapReduce 属性 216
基本的HDFS 管理 217
NameNode 用户界面 217
将用户添加到HDFS 219
在HDFS 上执行FSCK 220
平衡HDFS 221
HDFS 安全模式 222
停用HDFS 节点 222
— 没有更多了 —
以下为对购买帮助不大的评价