主编推荐语
Hadoop生态系统及大数据开发技术全接触。
内容简介
本书以Hadoop及其周边框架为主线,介绍了整个Hadoop生态系统主流的大数据开发技术。全书共16章,第1章讲解了VMware中CentOS 7操作系统的安装;第2章讲解了大数据开发之前对操作系统集群环境的配置;第3~16章讲解了Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过实际案例加深对各个框架的理解与应用。通过阅读本书,读者即使没有任何大数据基础,也可以对照书中的步骤成功搭建属于自己的大数据集群并独立完成项目开发。 本书可作为Hadoop新手入门的指导书,也可作为大数据开发人员的随身手册以及大数据从业者的参考用书。
本书以Hadoop及其周边框架为主线,介绍了整个Hadoop生态系统主流的大数据开发技术。全书共16章,第1章讲解了VMware中CentOS 7操作系统的安装;第2章讲解了大数据开发之前对操作系统集群环境的配置;第3~16章讲解了Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过实际案例加深对各个框架的理解与应用。通过阅读本书,读者即使没有任何大数据基础,也可以对照书中的步骤成功搭建属于自己的大数据集群并独立完成项目开发。 本书可作为Hadoop新手入门的指导书,也可作为大数据开发人员的随身手册以及大数据从业者的参考用书。
目录
- 版权信息
- 作者简介
- 图书推荐
- 内容简介
- 前言
- 第1章 VMware中安装CentOS 7
- 1.1 下载CentOS 7镜像文件
- 1.2 新建虚拟机
- 1.3 安装操作系统
- 第2章 CentOS 7集群环境配置
- 2.1 系统环境配置
- 2.1.1 新建用户
- 2.1.2 修改用户权限
- 注意
- 2.1.3 关闭防火墙
- 2.1.4 设置固定IP
- 2.1.5 修改主机名
- 2.1.6 新建资源目录
- 2.2 安装JDK
- 2.3 克隆虚拟机
- 2.4 配置主机IP映射
- 第3章 Hadoop
- 3.1 Hadoop简介
- 3.1.1 Hadoop生态系统架构
- 3.1.2 Hadoop 1.x与2.x的架构对比
- 3.2 YARN基本架构及组件
- 3.3 YARN工作流程
- 3.4 配置集群各节点SSH无密钥登录
- 3.4.1 无密钥登录原理
- 3.4.2 无密钥登录操作步骤
- 注意
- 3.5 搭建Hadoop 2.x分布式集群
- 注意
- 第4章 HDFS
- 4.1 HDFS简介
- 4.1.1 设计目标
- 4.1.2 总体架构
- 4.1.3 主要组件
- 4.1.4 文件读写
- 4.2 HDFS命令行操作
- 注意
- 4.3 HDFS Web界面操作
- 4.4 HDFS Java API操作
- 4.4.1 读取数据
- 4.4.2 创建目录
- 4.4.3 创建文件
- 4.4.4 删除文件
- 4.4.5 遍历文件和目录
- 4.4.6 获取文件或目录的元数据
- 4.4.7 上传本地文件
- 4.4.8 下载文件到本地
- 第5章 MapReduce
- 5.1 MapReduce简介
- 5.1.1 设计思想
- 5.1.2 任务流程
- 5.1.3 工作原理
- 5.2 MapReduce程序编写步骤
- 5.3 案例分析:单词计数
- 5.4 案例分析:数据去重
- 5.5 案例分析:求平均分
- 5.6 案例分析:二次排序
- 5.7 使用MRUnit测试MapReduce程序
- 第6章 ZooKeeper
- 6.1 ZooKeeper简介
- 6.1.1 应用场景
- 6.1.2 架构原理
- 6.1.3 数据模型
- 6.1.4 节点类型
- 6.1.5 Watcher机制
- 6.1.6 分布式锁
- 6.2 ZooKeeper安装配置
- 6.2.1 单机模式
- 6.2.2 伪分布模式
- 6.2.3 集群模式
- 注意
- 6.3 ZooKeeper命令行操作
- 注意
- 注意
- 6.4 ZooKeeper Java API操作
- 6.4.1 创建Java工程
- 6.4.2 创建节点
- 6.4.3 修改数据
- 6.4.4 获取数据
- 6.4.5 删除节点
- 6.5 案例分析:监听服务器动态上下线
- 第7章 HDFS与YARNHA
- 7.1 HDFS HA搭建
- 7.1.1 架构原理
- 7.1.2 搭建步骤
- 7.1.3 结合ZooKeeper进行HDFS自动故障转移
- 7.2 YARN HA搭建
- 7.2.1 架构原理
- 7.2.2 搭建步骤
- 第8章 HBase
- 8.1 什么是HBase
- 8.2 HBase基本结构
- 8.3 HBase数据模型
- 8.4 HBase集群架构
- 8.5 HBase安装配置
- 8.5.1 单机模式
- 注意
- 8.5.2 伪分布模式
- 注意
- 8.5.3 集群模式
- 8.6 HBase Shell命令操作
- 注意
- 8.7 HBase Java API操作
- 8.7.1 创建Java工程
- 8.7.2 创建表
- 8.7.3 添加数据
- 8.7.4 查询数据
- 8.7.5 删除数据
- 8.9 案例分析:HBase MapReduce数据转移
- 8.9.1 HBase不同表间数据转移
- 8.9.2 HDFS数据转移至HBase
- 8.10 案例分析:HBase数据备份与恢复
- 第9章 Hive
- 9.1 什么是Hive
- 9.1.1 数据单元
- 9.1.2 数据类型
- 注意
- 9.2 Hive架构体系
- 9.3 Hive三种运行模式
- 9.4 Hive安装配置
- 9.4.1 内嵌模式
- 注意
- 9.4.2 本地模式
- 9.4.3 远程模式
- 注意
- 9.5 Hive常见属性配置
- 9.6 Beeline CLI的使用
- 9.7 Hive数据库操作
- 9.8 Hive表操作
- 9.8.1 内部表
- 注意
- 9.8.2 外部表
- 注意
- 9.8.3 分区表
- 注意
- 9.8.4 分桶表
- 注意
- 注意
- 9.9 Hive查询
- 9.9.1 SELECT子句查询
- 9.9.2 JOIN连接查询
- 9.10 其他Hive命令
- 9.11 Hive元数据表结构分析
- 9.12 Hive自定义函数
- 9.13 Hive JDBC操作
- 9.14 案例分析:Hive与HBase整合
- 9.15 案例分析:Hive分析搜狗用户搜索日志
- 第10章 Sqoop
- 10.1 什么是Sqoop
- 10.1.1 Sqoop基本架构
- 10.1.2 Sqoop开发流程
- 10.2 使用Sqoop
- 10.3 数据导入工具
- 注意
- 10.4 数据导出工具
- 10.5 Sqoop安装与配置
- 10.6 案例分析:将MySQL表数据导入到HDFS中
- 10.7 案例分析:将HDFS中的数据导出到MySQL中
- 10.8 案例分析:将MySQL表数据导入到HBase中
- 第11章 Kafka
- 11.1 什么是Kafka
- 11.2 Kafka架构
- 11.3 主题与分区
- 11.4 分区副本
- 11.5 消费者组
- 11.6 数据存储机制
- 11.7 集群环境搭建
- 11.8 命令行操作
- 11.8.1 创建主题
- 11.8.2 查询主题
- 11.8.3 创建生产者
- 11.8.4 创建消费者
- 11.9 Java API操作
- 11.9.1 创建Java工程
- 11.9.2 创建生产者
- 11.9.3 创建消费者
- 11.9.4 运行程序
- 注意
- 11.10 案例分析:Kafka生产者拦截器
- 第12章 Flume
- 12.1 什么是Flume
- 12.2 架构原理
- 12.2.1 单节点架构
- 12.2.2 组件介绍
- 12.2.3 多节点架构
- 注意
- 12.3 安装与简单使用
- 12.4 案例分析:日志监控(一)
- 12.5 案例分析:日志监控(二)
- 12.6 拦 截 器
- 12.6.1 内置拦截器
- 12.6.2 自定义拦截器
- 12.7 选 择 器
- 12.8 案例分析:拦截器和选择器的应用
- 12.9 案例分析:Flume与Kafka整合
- 第13章 Storm
- 13.1 什么是Storm
- 13.2 Storm Topology
- 13.3 Storm集群架构
- 13.4 Storm流分组
- 13.5 Storm集群环境搭建
- 13.6 案例分析:单词计数
- 13.6.1 设计思路
- 13.6.2 代码编写
- 13.6.3 程序运行
- 13.7 案例分析:Storm与Kafka整合
- 第14章 Elasticsearch
- 14.1 什么是Elasticsearch
- 14.2 基本概念
- 14.2.1 索引、类型和文档
- 14.2.2 分片和副本
- 14.2.3 路由
- 14.3 集群架构
- 14.4 集群环境搭建
- 14.5 Kibana安装
- 14.6 REST API
- 14.6.1 集群状态API
- 14.6.2 索引API
- 14.6.3 文档API
- 注意
- 14.6.4 搜索API
- 14.6.5 Query DSL
- 14.7 Head插件安装
- 14.8 Java API操作:员工信息
- 第15章 Scala
- 15.1 什么是Scala
- 15.2 安装Scala
- 15.2.1 Windows中安装Scala
- 15.2.2 CentOS 7中安装Scala
- 15.3 Scala基础
- 15.3.1 变量声明
- 15.3.2 数据类型
- 15.3.3 表达式
- 15.3.4 循环
- 15.3.5 方法与函数
- 15.4 集合
- 15.4.1 数组
- 15.4.2 List
- 15.4.3 Map映射
- 15.4.4 元组
- 15.4.5 Set
- 15.5 类和对象
- 15.5.1 类的定义
- 15.5.2 单例对象
- 15.5.3 伴生对象
- 15.5.4 get和set方法
- 15.5.5 构造器
- 注意
- 15.6 抽象类和特质
- 15.6.1 抽象类
- 15.6.2 特质
- 15.7 使用Eclipse创建Scala项目
- 15.7.1 安装Scala for Eclipse IDE
- 15.7.2 创建Scala项目
- 15.8 使用IntelliJ IDEA创建Scala项目
- 15.8.1 IDEA中安装Scala插件
- 15.8.2 创建Scala项目
- 第16章 Spark
- 16.1 Spark概述
- 16.2 Spark主要组件
- 16.3 Spark运行时架构
- 16.3.1 Spark Standalone模式
- 16.3.2 Spark On YARN模式
- 16.4 Spark集群环境搭建
- 16.4.1 Spark Standalone模式
- 16.4.2 Spark On YARN模式
- 16.5 Spark HA搭建
- 16.6 Spark应用程序的提交
- 注意
- 16.7 Spark Shell的使用
- 16.8 Spark RDD
- 16.8.1 创建RDD
- 16.8.2 RDD算子
- 16.9 案例分析:使用Spark RDD实现单词计数
- 16.10 Spark SQL
- 16.10.1 DataFrame和Dataset
- 16.10.2 Spark SQL基本使用
- 16.11 案例分析:使用Spark SQL实现单词计数
- 16.12 案例分析:Spark SQL与Hive整合
- 16.13 案例分析:Spark SQL读写MySQL
- 注意
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。