新書推薦:
《
掌故家的心事
》
售價:NT$
390.0
《
孤独传:一种现代情感的历史
》
售價:NT$
390.0
《
家、金钱和孩子
》
售價:NT$
295.0
《
量价关系——透视股票涨跌脉络
》
售價:NT$
340.0
《
二十四节气生活美学
》
售價:NT$
340.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
夺回大脑 如何靠自己走出强迫
》
售價:NT$
299.0
編輯推薦:
Sam Alapati已经与Hadoop集群生产部门合作了六年。他独特的经验使他能够为所有希望对任何大小的Hadoop集群进行规范、扩展和安全生产的管理员编写*资源。
內容簡介:
本书翻译自Sam R. Alapati 的Expert Hadoop Administration。Sam R. Alapati 是Sabre 公司的首席Hadoop 管理员,具有多年的Hadoop 运维管理经验。他希望通过本书,为Hadoop 集群开发与管理人员提供一些有益指导。从事Hadoop 的管理工作,首先要了解Hadoop 的架构,只进行单纯的操作并不能被称为合格的管理员。基于此,本书在介绍Hadoop 及其生态组件时,都会首先介绍其架构,以期读者能够在更高的层次认识管理工作。本书首先介绍了Hadoop 的整体架构及其部署与使用;然后着重介绍了两个重要的计算引擎MapReduce 与Spark ;接着介绍了Hadoop 的数据存储与安全、数据均衡等特性;*后则介绍了如何进行参数调优与故障排除。整个流程下来,读者能够建立起完整的关于Hadoop 管理的体系架构。
關於作者:
Sam R. Alapati,从事Hadoop相关工作6年。目前在Sabre任Principal Hadoop Administrator,负责大规模Hadoop集群的日常管理工作,主要对多个关键数据科学、数据分析Hadoop作业工作流进行管理。Sam R. Alapati还是一位Oracle DBA专家,在过去14年间出版了18部广受好评的Oracle技术著作。
贝壳大数据架构团队,负责公司大数据存储平台、计算平台、实时数据流平台的架构、性能调优、研发等,提供高效的大数据olap引擎,以及大数据工具链组件研发,为公司提供稳定、高效、开放的大数据基础组件与基础平台。
目錄 :
目录
第Ⅰ部分 Hadoop架构与Hadoop集群介绍
第1章 Hadoop与Hadoop环境介绍............................................................................... 3
Hadoop简介.........................................................................................................................4
Hadoop 的特性............................................................................................................5
Hadoop 与大数据........................................................................................................5
Hadoop 的典型应用场景............................................................................................6
传统数据库系统..........................................................................................................7
数据湖..........................................................................................................................9
大数据、数据科学和Hadoop ..................................................................................10
Hadoop集群与集群计算................................................................................................... 11
集群计算.................................................................................................................... 11
Hadoop 集群..............................................................................................................12
Hadoop组件和Hadoop生态..............................................................................................14
Hadoop管理员需要做些什么...........................................................................................16
Hadoop 管理新的范式......................................................................................17
关于Hadoop 管理你需要知道的.............................................................................18
Hadoop 管理员的工具集..........................................................................................19
Hadoop 1和Hadoop 2的关键区别....................................................................................19
架构区别....................................................................................................................20
高可用性....................................................................................................................20
多计算引擎................................................................................................................21
xiv 目录
分离处理和调度........................................................................................................21
Hadoop 1 和Hadoop 2 中的资源分配.....................................................................22
分布式数据处理:MapReduce和Spark、Hive、Pig ......................................................22
MapReduce ................................................................................................................22
Apache Spark .............................................................................................................23
Apache Hive ...............................................................................................................24
Apache Pig .................................................................................................................24
数据整合:Apache Sqoop、Apache Flume和Apache Kafka ..........................................25
Hadoop管理中的关键领域...............................................................................................26
集群存储管理............................................................................................................26
集群资源分配............................................................................................................26
作业调度....................................................................................................................27
Hadoop 数据安全......................................................................................................27
总结....................................................................................................................................28
第2章 Hadoop架构介绍............................................................................................. 31
Hadoop与分布式计算.......................................................................................................31
Hadoop 架构......................................................................................................................32
Hadoop 集群..............................................................................................................33
主节点和工作节点....................................................................................................33
Hadoop 服务..............................................................................................................34
数据存储Hadoop分布式文件系统...........................................................................35
HDFS 特性................................................................................................................35
HDFS 架构................................................................................................................36
HDFS 文件系统........................................................................................................38
NameNode 操作........................................................................................................41
利用YARN(Hadoop操作系统)进行数据处理...........................................................45
YARN 的架构............................................................................................................46
ApplicationMaster 如何与ResourceManager 协作进行资源分配..........................51
总结....................................................................................................................................54
第3章 创建和配置一个简单的Hadoop集群................................................................ 55
Hadoop发行版本和安装类型...........................................................................................56
目录xv
Hadoop 发行版本......................................................................................................56
Hadoop 安装类型......................................................................................................57
设置一个伪分布式Hadoop集群.......................................................................................58
满足操作系统的要求................................................................................................58
修改内核参数............................................................................................................59
设置SSH ...................................................................................................................64
Java 需求....................................................................................................................65
安装Hadoop ..............................................................................................................66
创建必要的Hadoop 用户.........................................................................................66
创建必要的目录........................................................................................................67
Hadoop初始配置...............................................................................................................67
环境变量配置文件....................................................................................................69
只读默认配置文件....................................................................................................70
site 专用配置文件..............................................................
內容試閱 :
译者序
承担本书翻译工作的主要人员是贝壳大数据架构相关团队,这个团队有着多年大数
据的相关从业经验。本书很好地讲述了如何构建、优化、管理大数据智能计算平台本书
中有很好的呈现。
在写下这篇译者序的时候,我更想把这个功劳归属于我们整个团队,我们团队负责
公司大数据存储平台、计算平台、实时数据流平台的架构、性能优化、研发等,提供高
效的大数据olap 引擎,以及大数据工具链组件的研发,可为公司提供稳定、高效、开放
的大数据基础组件与基础平台;专注于分布式计算、分布式存储以及大数据处理引擎的
优化、架构等相关技术。整个翻译过程持续了一年多,在翻译中我们也感受到本书作者
的专注与严谨。我们尽可能还原原作者的语义。作为一个做大数据相关工作的从业者,
在翻译过程中自己也受益良多,也特别希望这本书能给大数据从业者赋能,为他们提供
更好的助力。
在这个大数据与人工智能时代,Hadoop 作为一个基础平台,为多个公司提供了基
础智能计算平台与大数据存储平台,本书正像一本手册一样,让我们能更好地利用好这
个基础平台。
由于译者水平有限,本书难免有一些翻译错误,诚恳欢迎大家向我或者出版社反馈
本书中的错误。
最后,我想要感谢参与本书翻译的刘峰、邓钫元、张京一、李小龙等同事,以及在
翻译过程中帮助过我们的陈尔冬、杨菁伟、王涛、刘金国等领导与同事,还有很多其他
帮助过我们的朋友,没有你们就不会有本书的出版。
序言
Apache Hadoop 2 和即将到来的Hadoop 3 是在跨越MapReduce 范式方面迈出的重要
一步。其核心是新提出的YARN 处理框架,该框架在Hadoop 和HDFS 之上提供了API
和执行引擎,涵盖了之前的MapReduce 模型。Hadoop 2 是对Hadoop 1 的重大升级,因
此在集群设置、管理和维护方面有较大改进。本书面向从事Hadoop 2 生产集群的开发、
操作和管理的人员。
Hadoop 2 和3 的核心组件是HDFS 和YARN,除此之外,许多其他项目也被纳入
Hadoop 生产集群生态中。比如Hive、Pig、Spark、Flume 及Kafaka 等经常与Hadoop 核
心组件配合使用,以提供更为完善的功能特性。本书涵盖了许多关于此类项目的介绍。
Sam Alapati 是Sabre Holdings 公司的首席Hadoop 管理员,过去6 年一直从事
Hadoop 生产集群的维护管理工作。他是最有资格管理生产集群的人,并且他能把所有
东西都整合到集群中。本书不仅仅是对Hadoop 或Spark 的简单介绍,而是提供了比较
深入的体验内容,因此本书可以作为Hadoop 管理员对Hadoop 生产集群进行规范化、规
模化、扩容以及提供安全性时的首选参考。
Paul Dix,编辑
前言
Apache Hadoop 是一种流行的开源软件框架,其主要是在由普通商用硬件组成的集
群中存储和处理海量数据。Hadoop 背后的主要思想是计算到数据,而非传统的数据到
计算。良好的伸缩性是Hadoop 的核心,Hadoop 之所以在当前的大数据领域备受欢迎,
是因为普通商用服务器及开源性所带来的成本效益。
我从2014 年秋季开始编写本书。Hadoop 2 在早前的几个月问世,新版本的Hadoop
架构发生了许多有趣的变化。在此之前,有一本非常好的关于管理通用(不使用第三方
供应商的工具)Hadoop 集群的书籍(Eric Sammer 的Hadoop Operations)。但是,随着
时间的推移,其在多个领域已经过时(该书发布于2012 年)。Tom White 著的Hadoop:
The Definitive Guide 当然也是一部非常好的书籍,该书包含了一些Hadoop 管理方面的有
益探讨,但是相比于管理人员,Hadoop 的开发人员和架构师更适合阅读该书。于是我
决定写一本书,该书应该成为关于集群管理、安全和优化方面的全面指南。
在本书的写作过程中,Spark 逐渐成为Hadoop 最重要的处理框架之一。因此,我增
加了4 个章节来讨论Spark 的架构、Spark 应用的本质及运行于Hadoop 集群的Spark 作
业的管理和优化。
本书会直接通过Hadoop 的配置文件来阐述Hadoop 生态的管理、优化及安全。你
可能想知道是否需要从底层开始学习Hadoop 的管理。像许多管理Hadoop 生态的人一样,
我也使用第三方发行的Hadoop,如Cloudera 和Hortonworks。当然,使用像Cloudera
Manager 或者Apache Ambari 之类的工具来管理Hadoop 集群是非常轻松的。但是,为了
更好地管理Hadoop 集群并最大限度地利用Hadoop 集群,则需要了解这些管理工具管
理集群背后的技术。只有从头开始构建一个集群并学习各种配置(如高可用性、高性能、
安全性、加密等),才能够实现此目标。
Hadoop 具有大量的可配置属性。为了更好地利用Hadoop 的强大性能,需要理解关
键性能、安全性、高可用性以及其他相关的配置参数,并知道如何对其进行调优。为此,
本书解释了所有与Hadoop 管理相关的核心配置,并提供了大量的示例,以便你能够从
vi 前言
容地对集群进行配置,执行安全管理和优化工作。
Hadoop 是一个令人振奋的领域,其与Hadoop 生态圈下的软件进行交互。本书
主要关注Hadoop 核心本身,特别是HDFS(Hadoop 分布式文件系统)及YARN(Hadoop
处理框架)。本书也讨论了几个Hadoop 生态圈的组件,如Apache Sqoop、Apache Flume
和Apache Spark 等,但重点是如何管理Hadoop 架构本身。为此,我花费了大量时间讨
论HDFS 和YARN 的架构体系。
谁适合阅读本书
本书主要是为Hadoop 管理员而写。但是,并非全职的Hadoop 管理员才能从本书
中受益。如果你是一个大数据架构师、开发人员或者分析师,本书中的许多内容也适合
你阅读。
本书的结构及内容
本书分为5 个部分,共21 章。
第I 部分:Hadoop 架构与Hadoop 集群介绍
? 第1 章Hadoop 与Hadoop 环境介绍从总体上介绍了Hadoop 和大数据。由
本章你可以了解到Hadoop 与传统数据库的不同之处以及数据湖的概念。还可以
了解到Hadoop 与大数据和数据科学的契合之处。本章还介绍了Hadoop 集群的
概念,概述了Hadoop 关键组件及Hadoop 生态圈中的成员角色,如ZooKeeper、
Apache Sqoop、Apache Flume 和Apache Kafka 等。
尽管Hadoop1 现在已经成为历史,但它提供了一种方便的方法来追溯Hadoop 到
当前版本的演变历程,尤其是如何分离计算和调度,以及支持MapReduce 之外
的多个处理引擎。本书还讨论了Hadoop1 和Hadoop2 之间的主要区别,使你看
清事情的本质,了解Hadoop 的发展方向。
同时简要介绍了MapReduce 和Apache Spark 这两个Hadoop 主要的计算框架,
以及Hive 和Pig。本章还介绍了比较流行的Hadoop 数据集成工具,如Apache
Flume 和Apache Kafka。最后,总结了Hadoop 管理员需要关注的领域,如资源
分配、作业调度、性能调优以及安全性。
? 第2 章Hadoop 架构介绍主要介绍了Hadoop 的体系架构,并阐述了HDFS
如何支持数据存储,以及提供数据处理功能的重要组件YARN。
? 第3 章创建和配置一个简单的Hadoop 集群主要说明如何逐步地配置一个单
节点的伪分布式集群。虽然无法使用单节点集群进行大规模的数据处理,但这
前言vii
里主要是希望读者能够了解安装过程,而不是开始阶段就配置多个节点。在本
章所学的所有内容,都涉及真实的多节点Hadoop 集群的安装和配置。
? 第4 章规划和创建一个完全分布式集群主要介绍了如何规划一个Hadoop 集
群以及如何对其进行调整。本章将一步一步地展示如何构建一个多节点Hadoop
集群。
在学习了如何创建一个Hadoop 集群后,需要了解如何修改Hadoop 的默认配置。
Hadoop 拥有大量的配置属性,可使用这些属性对存储、计算、资源分配和安全
性等进行配置。
Hadoop 管理的一个关键点是了解如何使用大量配置参数来实现集群的配置、调
整以及优化。本章将展示如何配置Hadoop,以及如何对Hadoop 服务、Web 接
口及各种Hadoop 端口进行配置。
第II 部分:Hadoop 应用架构
? 第5 章在集群上运行一个应用MapReduce 框架和Hive、Pig主要介
绍了MapReduce 的概念,其在许多年间都是Hadoop 唯一可用的主要处理框
架。在Hadoop2 中,MapReduce 不再是唯一的计算框架,尽管其仍然在许多
Hadoop 环境中被重度使用。本章还介绍了著名的WordCount 程序以及如何使用
MapReduce 执行它。
同时还介绍了两个在Hadoop 中广泛使用的数据处理框架Apache Hive 和Apache
Pig。
? 第6 章集群上的应用Spark 框架介绍主要介绍了Apache Spark,其目标
是接替MapReduce 成为Hadoop 主要的计算框架。本章重点介绍了Spark 的安装
与架构,以及如何将数据从各种数据源加载到Spark。