主页 详情

《Hadoop专家 管理、调优与Spark YARN HDFS安全》_(美)Sam R.Alapati(山姆·阿拉帕蒂)_14587714_978712135

【书名】:《Hadoop专家 管理、调优与Spark YARN HDFS安全》
【作者】:(美)Sam R.Alapati(山姆·阿拉帕蒂)
【出版社】:北京:电子工业出版社
【时间】:2019
【页数】:726
【ISBN】:9787121356698
【SS码】:14587714

最新查询

内容简介

第Ⅰ部分 Hadoop架构与Hadoop集群介绍

第1章 Hadoop与Hadoop环境介绍

Hadoop简介

Hadoop的特性

Hadoop与大数据

Hadoop的典型应用场景

传统数据库系统

数据湖

大数据、数据科学和Hadoop

Hadoop集群与集群计算

集群计算

Hadoop集群

Hadoop组件和Hadoop生态

Hadoop管理员需要做些什么

Hadoop管理——新的范式

关于Hadoop管理你需要知道的

Hadoop管理员的工具集

Hadoop 1和Hadoop 2的关键区别

架构区别

高可用性

多计算引擎

分离处理和调度

Hadoop 1和Hadoop 2中的资源分配

分布式数据处理:MapReduce和Spark、Hive、Pig

MapReduce

Apache Spark

Apache Hive

Apache Pig

数据整合:Apache Sqoop、Apache Flume和Apache Kafka

Hadoop管理中的关键领域

集群存储管理

集群资源分配

作业调度

Hadoop数据安全

总结

第2章 Hadoop架构介绍

Hadoop与分布式计算

Hadoop架构

Hadoop集群

主节点和工作节点

Hadoop服务

数据存储——Hadoop分布式文件系统

HDFS特性

HDFS架构

HDFS文件系统

NameNode操作

利用YARN(Hadoop操作系统)进行数据处理

YARN的架构

ApplicationMaster如何与ResourceManager协作进行资源分配

总结

第3章 创建和配置一个简单的Hadoop集群

Hadoop发行版本和安装类型

Hadoop发行版本

Hadoop安装类型

设置一个伪分布式Hadoop集群

满足操作系统的要求

修改内核参数

设置SSH

Java需求

安装Hadoop

创建必要的Hadoop用户

创建必要的目录

Hadoop初始配置

环境变量配置文件

只读默认配置文件

site专用配置文件

其他Hadoop相关的配置文件

配置文件的优先级

可变扩展和配置参数

配置Hadoop守护进程环境变量

配置Hadoop的核心属性(使用core-site.xml文件)

配置MapReduce(使用mapred-site.xml文件)

配置YARN(使用yarn-site.xml文件)

配置HDFS(使用hdfs-site.xml文件)

操作新的Hadoop集群

格式化分布式文件系统

设置环境变量

启动HDFS和YARN服务

验证服务启动

关闭服务

总结

第4章 规划和创建一个完全分布式集群

规划Hadoop集群

集群规划注意事项

安排服务器

节点选择的标准

从单机架到多机架

调整Hadoop集群

CPU、内存和存储选择的一般性原则

主节点的特殊要求

关于服务器大小的几点建议

集群增长

大型集群指南

创建一个多节点集群

如何设置测试集群

修改Hadoop的配置

更改HDFS的配置(hdfs-site.xml文件)

更改YARN的配置

修改MapReduce的配置

启动集群

使用脚本启动和关闭集群

快速检查新集群的文件系统

配置Hadoop服务、Web界面和端口

服务配置和Web界面

设置Hadoop服务的端口

Hadoop客户端

总结

第Ⅱ部分 Hadoop应用架构

第5章 在集群上运行一个应用——MapReduce框架和Hive、Pig

MapReduce框架

MapReduce模型

MapReduce怎样工作

MapReduce作业处理

一个简单的MapReduce程序

通过运行WordCount程序理解Hadoop作业的处理过程

MapReduce输入/输出目录

Hadoop如何展示作业细节

Hadoop Streaming

Apache Hive

Hive数据组织

使用Hive表

将数据导入Hive

使用Hive查询

Apache Pig

Pig执行模型

一个简单的Pig示例

总结

第6章 集群上的应用——Spark框架介绍

Spark是什么

为什么使用Spark

速度

易用性

通用框架

Spark和Hadoop

Spark技术栈

安装Spark

Spark示例

Spark的主要文件和目录

编译Spark二进制文件

减少Spark日志

Spark运行模式

本地模式

集群模式

集群管理器

独立集群管理器

基于Apache Mesos的Spark

基于YARN的Spark

YARN和Spark如何协同合作

设置基于Hadoop集群的Spark

Spark和数据获取

从Linux文件系统加载数据

从HDFS加载数据

从关系型数据库获取数据

总结

第7章 运行Spark应用程序

Spark编程模型

Spark编程和RDD

Spark编程

Spark应用程序

RDD基础

创建RDD

RDD操作

RDD持久化

Spark应用的结构

Spark术语

Spark应用程序的组件

交互式运行Spark应用程序

Spark shell和Spark应用程序

Spark shell

使用Spark shell

Spark集群执行概述

创建和提交Spark应用

构建Spark应用

在独立的Spark集群上运行应用

使用spark-submit执行应用

在Mesos上运行Spark应用

在Hadoop YARN集群上运行Spark应用

使用JDBC/ODBC服务

配置Spark应用

Spark的配置属性

运行spark-submit时的配置

监控Spark应用

使用Spark Streaming处理流式计算

Spark Streaming如何工作

Spark Streaming示例,又是WordCount

使用Spark SQL处理结构化数据

数据框架

HiveContext和SQLContext

使用Spark SQL

创建DataFrames

总结

第Ⅲ部分 管理和保护Hadoop数据和高可用性

第8章 NameNode的作用和HDFS的工作原理

HDFS——NameNode与DataNode之间的交互

客户端和HDFS之间的交互

NameNode与DataNode之间的通信

机架感知与拓扑逻辑

如何在集群中配置机架感知策略

找出集群的机架信息

HDFS数据副本

HDFS数据组织和数据块

数据复制

文件块和副本状态

客户端如何读写HDFS数据

客户端如何读取HDFS数据

客户端如何向HDFS写数据

了解HDFS恢复过程

生成戳

租约恢复

块恢复

管道恢复

HDFS中的集中式缓存管理

Hadoop和OS的页面缓存

集中式缓存管理的关键原则

集中式缓存管理如何工作

配置缓存

缓存指令

缓存池

使用缓存

Hadoop归档存储、SSD和内存(异构存储)

不同存储类型的性能特点

对异构HDFS存储的需求

存储体系结构的变化

文件的存储首选项

设置归档存储

管理存储策略

移动数据

实现归档

总结

第9章 HDFS命令、HDFS权限和HDFS存储

使用HDFS Shell命令管理HDFS

使用hdfs dfs实用程序来管理HDFS

列出HDFS文件和目录

创建HDFS目录

删除HDFS文件和目录

更改文件和目录所有权和组

使用dfsadmin实用程序执行HDFS操作

dfsadmin-report命令

管理HDFS权限和用户

HDFS文件权限

HDFS用户和超级用户

管理HDFS存储

检查HDFS磁盘使用情况

分配HDFS空间配额

重新均衡HDFS数据

HDFS数据不均衡的原因

运行均衡器以均衡HDFS数据

使用hdfs dfsadmin使事情更简单

何时运行均衡器

回收HDFS空间

删除文件和目录

降低复制因子

总结

第10章 数据保护、文件格式和访问HDFS

保护数据

使用HDFS回收站防止意外数据删除

使用HDFS快照保护重要数据

通过文件系统检查确保数据完整性

数据压缩

常用压缩格式

评估各种压缩方案

MapReduce的各个阶段的压缩

Spark的压缩

数据序列化

Hadoop文件格式

确定正确文件格式的标准

Hadoop支持的文件格式

理想文件格式

Hadoop小文件问题和合并文件

使用NameNode联合架构克服小文件问题

使用Hadoop Archives管理小文件

减小小文件的性能影响

使用Hadoop WebHDFS和HttpFS

WebHDFS——Hadoop REST API

使用WebHDFS API

了解WebHDFS命令

使用HttpFS网关从防火墙后面访问HDFS

总结

第11章 NameNode操作、高可用性和联合

了解NameNode操作

HDFS元数据

NameNode启动过程

NameNode和DataNode如何协同工作

检查点操作

Secondary NameNode、检查点节点、备份节点和Standby NameNode

配置检查点操作频率

管理检查点性能

检查点的机制

NameNode安全模式操作

自动安全模式操作

将NameNode置于安全模式

NameNode如何进行安全模式转换

备份和恢复NameNode元数据

配置HDFS高可用性

NameNode HA架构(QJM)

设置HDFS HA Quorum集群

部署高可用性NameNode

管理HA NameNode设置

HA手动和自动故障转移

HDFS联合

联合NameNode的体系结构

总结

第Ⅳ部分 数据迁移、资源分配、作业调度及安全

第12章 将数据导入和导出Hadoop

Hadoop数据传输工具简介

通过命令行将数据加载到HDFS

使用-cat命令转储文件的内容

检测HDFS文件

从HDFS或向HDFS复制或移动文件

使用-get命令移动文件

向HDFS或从HDFS移动文件

使用-tail和head命令

使用DistCp在HDFS集群之间复制数据

如何使用DistCp命令移动数据

DistCp选项

使用Sqoop从关系型数据库获取数据

Sqoop架构

部署Sqoop

使用Sqoop移动数据

使用Sqoop导入数据

将数据导入Hive

使用Sqoop导出数据

通过Flume从外部来源采集数据

Flume架构简介

配置Flume agent

简单的Flume示例

使用Flume将数据移动到HDFS

更复杂的Flume示例

与Kafka交互数据

Kafka的优点

Kafka是如何工作的

设置Apache Kafka集群

将Kafka与Hadoop和Storm集成

总结

第13章 Hadoop集群中的资源分配

Hadoop中的资源分配

管理集群的工作负载

Hadoop的资源调度器

FIFO调度器

容量调度器

队列和子队列

集群如何分配资源

抢占申请

启用容量调度器

一个典型的容量调度器

公平调度器

队列

配置公平调度器

作业是如何被放置到队列中的

公平调度器中的应用抢占

安全和资源池

一个fair-scheduler.xml示例文件

将作业提交到调度器

在队列之间移动应用程序

监控公平调度器

容量调度器和公平调度器的对比

两个调度器之间的相似之处

两个调度器之间的差异

总结

第14章 使用Oozie管理作业工作流

使用Apache Oozie调度作业

Oozie架构

Oozie服务器

Oozie客户端

Oozie数据库

在集群中部署Oozie

安装和配置Oozie

为Oozie配置Hadoop

了解Oozie工作流

工作流、控制流和节点

使用workflow.xml文件定义工作流

Oozie如何运行一个动作

配置动作节点

创建Oozie工作流

配置控制节点

配置作业

运行Oozie工作流作业

指定作业属性

部署Oozie作业

创建动态工作流

Oozie协调器

基于时间的协调器

基于数据的协调器

基于时间和数据的协调器

从命令行提交Oozie协调器

管理和治理Oozie

常见的Oozie命令

Oozie故障排除

Oozie cron调度和Oozie SLA

总结

第15章 Hadoop安全

Hadoop安全概览

认证、授权和审计

使用Kerberos进行Hadoop认证

Kerberos及其工作原理

Kerberos认证过程

Kerberos互信

一个特殊主体

将Kerberos添加到集群中

Hadoop相关的Kerberos设置

使用Kerberos保护Hadoop集群

Kerberos如何验证用户和服务

管理Kerberized Hadoop集群

Hadoop授权

HDFS权限

服务级授权

基于角色的Apache Sentry权限设置

Hadoop审计

审计HDFS操作

审计YARN操作

Hadoop数据安全

HDFS透明加密

加密转换中的数据

其他Hadoop安全举措

使用Apache Knox网关保护Hadoop基础设施

Apache Ranger安全管理

总结

第Ⅴ部分 监控、优化和故障排除

第16章 管理作业、使用Hue和执行常规任务

使用YARN命令管理Hadoop作业

查看YARN应用程序

检查应用程序的状态

Kill正在执行的作业

检查节点状态

检查YARN的队列状态

获取作业的日志

YARN管理命令

下线和上线节点

包含和剔除主机

下线DataNodes和NodeManagers

重新上线节点

关于下线和重新上线的注意事项

添加新的DataNode和NodeManager

高可用性ResourceManager

高可用性ResourceManager架构

设置高可用性ResourceManager

ResourceManager故障转移

使用ResourceManager高可用性命令

执行常规管理任务

将NameNode移动到不同的主机

管理高可用性NameNode

使用关闭/启动脚本来管理集群

均衡HDFS

均衡DataNodes上存储

管理MySQL数据库

配置MySQL数据库

配置高可用性MySQL

备份重要集群数据

备份HDFS元数据

备份Metastore数据库

使用Hue管理集群

允许用户使用Hue

安装Hue

配置集群以使用Hue

管理Hue

使用Hue

使用HDFS的附加功能

在多宿主网络中部署HDFS和YARN

短路本地读取

可挂载的HDFS

使用NFS网关将HDFS挂载到本地文件系统

总结

第17章 监控、指标和Hadoop日志

监控Linux服务器

Linux系统监控基础

Linux系统监控工具

Hadoop指标

Hadoop指标类型

使用Hadoop指标

收集文件系统的指标

使用Ganglia进行监测

Ganglia架构

Ganglia和Hadoop整合

设置Hadoop指标

Hadoop日志记录

Hadoop日志消息

守护进程和应用程序日志以及如何查看这些日志

应用程序日志记录的工作原理

Hadoop如何使用HDFS目录和本地目录

NodeManager如何使用本地目录

通过日志聚合将作业日志存储在HDFS中

使用Hadoop守护程序日志

使用Hadoop的Web UI进行监控

使用ResourceManager Web UI监控作业

JobHistoryServer Web UI

使用NameNode Web UI进行监控

监控其他Hadoop组件

监控Hive

监控Spark

总结

第18章 调优集群资源,优化MapReduce作业和基准测试

如何分配YARN内存和CPU

分配内存

配置CPU内核数量

内存与CPU之间的关系

配置高性能

推测执行

减少系统上的I/O负载

调整map和reduce任务,管理员可以做什么

map任务调优

输入和输出

reduce任务调优

MapReduce shuffle进程调优

优化Pig和Hive作业

优化Hive作业

优化pig作业

对集群进行基准测试

使用TestDFSIO测试I/O性能

使用TeraSort进行基准测试

使用Hadoop的Rumen和GridMix进行基准测试

Hadoop计数器

文件系统计数器

作业计数器

MapReduce框架计数器

自定义Java计数器

限制计数器数量

优化MapReduce

map-only与map及reduce作业

使用combiners提升MapReduce性能

使用partitioner提高性能

在MapReduce过程中压缩数据

太多的map和reduce任务

总结

第19章 在YARN上配置和调优Apache Spark

在YARN上配置Spark的资源分配

分配CPU

分配内存

如何把资源分配给Spark

Spark应用程序的资源分配限制

将资源分配给驱动程序

为执行器配置资源

Spark如何使用内存

要注意的事情

集群或客户端模式

配置Spark相关网络参数

YARN Spark动态资源分配

动态和静态资源分配

如何管理动态资源分配

启用动态资源分配

存储格式和压缩数据

存储格式

文件大小

压缩

监控Spark应用程序

使用Spark Web UI了解性能

Spark系统和Metrics REST API

YARN上的Spark历史记录服务器

从命令行跟踪作业

调优垃圾回收

垃圾回收机制

如何收集GC统计数据

调优Spark Streaming应用程序

减少批处理时间

设置正确的批次间隔

调优内存和垃圾回收

总结

第20章 优化Spark应用程序

重新审视Spark执行模型

Spark执行模型

shuffle操作以及如何减少shuffle操作

WordCount示例(再一次展示)

shuffle操作的影响

配置shuffle参数

分区和并行性(任务数)

并行度

极少数任务的问题

设置默认分区数

如何增加分区数量

使用Repartition(重新分区)和Coalesce(合并)操作来更改RDD中的分区数

两种类型的分区器

数据分区和如何避免shuffle

数据的序列化和压缩优化

数据序列化

配置压缩

Spark的SQL查询优化器

优化步骤

Spark的推测执行功能

数据本地化的重要性

缓存数据

缓存容错

如何指定缓存

总结

第21章 Hadoop故障排除——样例

空间相关问题

处理Linux文件系统100%使用的情况

HDFS空间问题

本地目录以及日志目录空间超出

磁盘容错

处理卡住的YARN作业

JVM内存分配与垃圾回收策略

理解JVM垃圾回收

优化垃圾回收

Analyzing Memory Usage

内存不足问题

ApplicationMaster内存问题

处理不同类型的错误

处理守护进程失败的情况

启动Hadoop守护进程失败

任务和作业失败

Spark作业故障排除

Spark的容错机制

杀死Spark作业

一个作业的最大尝试次数

一个作业最大的失败次数

调试Spark应用

通过日志聚合访问日志

当日志聚合未开启时访问日志

重新审视启动环境

总结

附录A 安装VirtualBox和Linux以及虚拟机的克隆


书查询(www.shuchaxun.com)本网页唯一编码:
c02b9bfe3aee5194e0f8a235e2c22ec6#7775184a70a77b37dffa1ce32ecf8705#253672712#Hadoop专家_14587714.zip