内容简介
本书采用“理论+实战”的形式编写,全面介绍了Hadoop大数据挖掘的相关知识。本书共分为13章,涵盖的主要内容有:集群及开发环境搭建;快速构建一个Hadoop项目并线上运行;Hadoop套件实战;Hive编程——使用SQL提交MapReduce任务到Hadoop集群;游戏玩家的用户行为分析——特征提取;Hadoop平台管理与维护;Hadoop异常处理解决方案;初识Hadoop核心源码;Hadoop通信机制和内部协议;Hadoop分布式文件系统剖析;ELK实战案例——游戏应用实时日志分析平台;Kafka实战案例——实时处理游戏用户数据;Hadoop拓展——Kafka剖析。本书不但适合刚入门的初学者系统学习Hadoop的各种基础语法和开发技巧,而且也适合有多年开发经验的开发者进阶提高。另外,本书也适合社会培训机构和相关院校作为教材或者教学参考书。
目录
目录
前言
第1章 集群及开发环境搭建1
1.1 环境准备1
1.1.1 基础软件下载1
1.1.2 准备Linux操作系统2
1.2 安装Hadoop4
1.2.1 基础环境配置4
1.2.2 Zookeeper部署7
1.2.3 Hadoop部署9
1.2.4 效果验证21
1.2.5 集群架构详解24
1.3 Hadoop版Hello World25
1.3.1 Hadoop Shell介绍25
1.3.2 WordCount初体验27
1.4 开发环境28
1.4.1 搭建本地开发环境28
1.4.2 运行及调试预览31
1.5 小结34
第2章 实战:快速构建一个Hadoop项目并线上运行35
2.1 构建一个简单的项目工程35
2.1.1 构建Java Project结构工程35
2.1.2 构建Maven结构工程36
2.2 操作分布式文件系统(HDFS)39
2.2.1 基本的应用接口操作39
2.2.2 在高可用平台上的使用方法42
2.3 利用IDE提交MapReduce作业43
2.3.1 在单点上的操作43
2.3.2 在高可用平台上的操作46
2.4 编译应用程序并打包51
2.4.1 编译Java Project工程并打包51
2.4.2 编译Maven工程并打包55
2.5 部署与调度58
2.5.1 部署应用58
2.5.2 调度任务59
2.6 小结60
第3章 Hadoop套件实战61
3.1 Sqoop——数据传输工具61
3.1.1 背景概述61
3.1.2 安装及基本使用62
3.1.3 实战:在关系型数据库与分布式文件系统之间传输数据64
3.2 Flume——日志收集工具66
3.2.1 背景概述67
3.2.2 安装与基本使用67
3.2.3 实战:收集系统日志并上传到分布式文件系统(HDFS)上72
3.3 HBase——分布式数据库74
3.3.1 背景概述74
3.3.2 存储架构介绍75
3.3.3 安装与基本使用75
3.3.4 实战:对HBase业务表进行增、删、改、查操作79
3.4 Zeppelin——数据集分析工具85
3.4.1 背景概述85
3.4.2 安装与基本使用85
3.4.3 实战:使用解释器操作不同的数据处理引擎88
3.5 Drill——低延时SQL查询引擎92
3.5.1 背景概述93
3.5.2 安装与基本使用93
3.5.3 实战:对分布式文件系统(HDFS)使用SQL进行查询95
3.5.4 实战:使用SQL查询HBase数据库99
3.5.5 实战:对数据仓库(Hive)使用类实时统计、查询操作101
3.6 Spark——实时流数据计算104
3.6.1 背景概述104
3.6.2 安装部署及使用105
3.6.3 实战:对接Kafka消息数据,消费、计算及落地108
3.7 小结114
第4章 Hive编程——使用SQL提交MapReduce任务到Hadoop集群115
4.1 环境准备与Hive初识115
4.1.1 背景介绍115
4.1.2 基础环境准备116
4.1.3 Hive结构初识116
4.1.4 Hive与关系型数据库(RDBMS)118
4.2 安装与配置Hive118
4.2.1 Hive集群基础架构119
4.2.2 利用HAProxy实现Hive Server负载均衡120
4.2.3 安装分布式Hive集群123
4.3 可编程方式126
4.3.1 数据类型126
4.3.2 存储格式128
4.3.3 基础命令129
4.3.4 Java编程语言操作数据仓库(Hive)131
4.3.5 实践Hive Streaming134
4.4 运维和监控138
4.4.1 基础命令138
4.4.2 监控工具Hive Cube140
4.5 小结143
第5章 游戏玩家的用户行为分析——特征提取144
5.1 项目应用概述144
5.1.1 场景介绍144
5.1.2 平台架构与数据采集145
5.1.3 准备系统环境和软件147
5.2 分析与设计148
5.2.1 整体分析148
5.2.2 指标与数据源分析149
5.2.3 整体设计151
5.3 技术选型153
5.3.1 套件选取简述154
5.3.2 套件使用简述154
5.4 编码实践157
5.4.1 实现代码157
5.4.2 统计结果处理163
5.4.3 应用调度169
5.5 小结174
第6章 Hadoop平台管理与维护175
6.1 Hadoop分布式文件系统(HDFS)175
6.1.1 HDFS特性175
6.1.2 基础命令详解176
6.1.3 解读NameNode Standby179
6.2 Hadoop平台监控182
6.2.1 Hadoop日志183
6.2.2 常用分布式监控工具187
6.3 平台维护196
6.3.1 安全模式196
6.3.2 节点管理198
6.3.3 HDFS快照200
6.4 小结203
第7章 Hadoop异常处理解决方案204
7.1 定位异常204
7.1.1 跟踪日志204
7.1.2 分析异常信息208
7.1.3 阅读开发业务代码209
7.2 解决问题的方式210
7.2.1 搜索关键字211
7.2.2 查看Hadoop JIRA212
7.2.3 阅读相关源码213
7.3 实战案例分析216
7.3.1 案例分析1:启动HBase失败216
7.3.2 案例分析2:HBase表查询失败219
7.3.3 案例分析3:Spark的临时数据不自动清理222
7.4 小结223
第8章 初识Hadoop核心源码224
8.1 基础准备与源码编译224
8.1.1 准备环境224
8.1.2 加载源码228
8.1.3 编译源码230
8.2 初识Hadoop 2233
8.2.1 Hadoop的起源233
8.2.2 Hadoop 2源码结构图234
8.2.3 Hadoop模块包235
8.3 MapReduce框架剖析236
8.3.1 第一代MapReduce框架236
8.3.2 第二代MapReduce框架238
8.3.3 两代MapReduce框架的区别239
8.3.4 第二代MapReduce框架的重构思路240
8.4 序列化241
8.4.1 序列化的由来242
8.4.2 Hadoop序列化243
8.4.3 Writable实现类245
8.5 小结247
第9章 Hadoop通信机制和内部协议248
9.1 Hadoop RPC概述248
9.1.1 通信模型248
9.1.2 Hadoop RPC特点250
9.2 Hadoop R
前言/序言
前言 大数据时代,数据的存储与挖掘至关重要。企业在追求高可靠性、高扩展性及高容错性的大数据处理平台的同时还希望能够降低成本,而Hadoop为实现这些需求提供了解决方案。
Hadoop在分布式计算与存储上具有先天优势。它作为Apache软件基金会的顶级开源项目,其版本迭代持续至今,而且已经拥有一个非常活跃的社区和全球众多开发者,并且成为了当前非常流行的大数据处理平台。很多公司,特别是互联网公司,都纷纷开始使用或者已经使用Hadoop来做海量数据存储与数据挖掘。
Hadoop简单易学,其学习曲线平缓且学习周期短。它的操作命令和Linux命令非常相似。一个熟悉Linux的开发者只需要短短的一周时间,就可以学会Hadoop开发,完成一个高可用集群的部署和高可用应用程序的编写。
面对Hadoop的普及和学习热潮,笔者愿意分享自己多年的开发经验,带领读者比较轻松地掌握Hadoop数据挖掘的相关知识。这便是笔者编写本书的原因。本书使用通俗易懂的语言进行讲解,从基础部署到集群的管理,再到底层设计等内容均有涉及。通过阅读本书,读者可以较为轻松地掌握Hadoop大数据挖掘与分析的相关技术。
本书特色 1.提供专业的配套教学视频,高效、直观 笔者曾接受过极客学院的专业视频制作指导,并在极客学院录制过多期Hadoop和Kafka实战教学视频课程,得到了众多学习者的青睐及好评。为了便于读者更加高效、直观地学习本书内容,笔者特意为本书实战部分的内容录制了配套教学视频,读者可以在教学视频的辅助下学习,从而更加轻松地掌握Hadoop。
2.分享大量来自一线的开发经验,贴近实际开发 本书给出的代码讲解和实例大多数来自于笔者多年的教学积累和技术分享,几乎都是得到了学习者一致好评的干货。另外,笔者还是一名开源爱好者,编写了业内著名的Kafka Eagle监控系统。本书第13章介绍了该系统的使用,以帮助读者掌握如何监控大数据集群的相关知识。
3.分享多个来自一线的实例,有很强的实用性 本书精心挑选了多个实用性很强的例子,如Hadoop套件实战、Hive编程、Hadoop平台管理与维护、ELK实战和Kafka实战等。读者不但可以从这些例子中学习和理解Hadoop及其套件的相关知识点,而且还可以将这些例子应用于实际开发中。
4.讲解通俗易懂,力争触类旁通,举一反三 本书用通俗易懂的语言讲解,避免“云山雾罩”,让读者不知所云。书中在讲解一些常用知识点时将Hadoop命令与Linux命令进行了对比,便于熟悉Linux命令的读者能够迅速掌握Hadoop的操作命令。
本书内容 第1章 集群及开发环境搭建 本章介绍的主要内容包括:环境准备;安装Hadoop;演示Hadoop版Hello World示例程序,以及搭建Hadoop开发环境。
第2章 实战:快速构建一个Hadoop项目并线上运行 本章首先介绍了快速构建项目工程的方法,如Maven和Java Project;然后介绍了分布式文件系统的操作命令,以及利用IDE提交MapReduce作业的相关知识;最后介绍了编译应用程序并打包,以及部署与调度等内容。
第3章 Hadoop套件实战 本章介绍了Hadoop生态圈中常见的大数据套件的背景知识和使用方法,涵盖Sqoop、Flume、HBase、Zeppelin、Drill及Spark等套件。
第4章 Hive编程——使用SQL提交MapReduce任务到Hadoop集群 本章主要介绍了Hive数据仓库的相关内容:Hive底层设计组成;安装和配置Hive;基于Hive应用接口进行编程;开源监控工具Hive Cube。
第5章 游戏玩家的用户行为分析——特征提取 本章首先对Hadoop的基础知识进行了梳理;然后介绍了项目的背景和平台架构;接着对项目进行了整体分析与指标设计,并进行了技术选型;最后对分析的指标进行了编码实践。
第6章 Hadoop平台管理与维护 本章介绍了Hadoop平台管理与维护的重要方法。本章首先介绍了Hadoop分布式文件系统的特性,然后介绍了HDFS的基础命令,并对NameNode进行了解读。另外,本章对Hadoop平台维护时的常规操作,如节点管理、HDFS快照和安全模式等内容也进行了讲解。
第7章 Hadoop异常处理解决方案 本章介绍了Hadoop异常处理解决方案的几个知识点。主要内容包括:跟踪日志;分析异常信息;利用搜索引擎检索关键字;查看Hadoop JIRA;阅读Hadoop源代码。
本章最后以实战案例的形式分析了几种异常情况:启动HBase集群失败;HBase表查询失败;Spark的临时数据不自动清理等。
第8章 初识Hadoop核心源码 本章首先介绍了Hadoop源码基础环境准备及源代码编译;接着介绍了Hadoop的起源和两代MapReduce框架间的差异;最后介绍了Hadoop的序列化机制。
第9章 Hadoop通信机制和内部协议 本章首先介绍了Hadoop通信模型和Hadoop RPC的特点;然后通过编码实践介绍了Hadoop RPC的使用,同时还介绍了与之类似的开源RPC框架;最后介绍了MapReduce的通信协议和RPC协议的实现过程。
第10章 Hadoop分布式文件系统剖析 本章主要介绍了Hadoop分布式文件系统的设计特点、命令空间和节点、数据备份策略
Hadoop大数据挖掘从入门到进阶实战(视频教学版) 电子书 下载 mobi epub pdf txt