《Hadoop大数据技术开发实战》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(中国)张伟洋
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302534020
  • 页数:462 页
图书介绍:本书作为Hadoop及其周边框架的入门书,涵盖当前主流的大数据开发技术,以实操为主,深入讲解每一个操作步骤,包括Hadoop生态系统各框架HDFS、MapReduce、HBase、Hive、ZooKeeper、Sqoop,数据实时处理系统Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的实际集群环境搭建,同时包括案例讲解、源码剖析、常用Shell命令和Java API详解。

第1章 VMware中安装CentOS 7 1

1.1 下载CentOS 7镜像文件 1

1.2 新建虚拟机 5

1.3 安装操作系统 9

第2章 CentOS 7集群环境配置 16

2.1 系统环境配置 16

2.1.1 新建用户 17

2.1.2 修改用户权限 17

2.1.3 关闭防火墙 17

2.1.4 设置固定IP 18

2.1.5 修改主机名 22

2.1.6 新建资源目录 23

2.2 安装JDK 23

2.3 克隆虚拟机 25

2.4 配置主机IP映射 29

第3章 Hadoop 31

3.1 Hadoop简介 31

3.1.1 Hadoop生态系统架构 32

3.1.2 Hadoop 1.x与2.x的架构对比 33

3.2 YARN基本架构及组件 34

3.3 YARN工作流程 37

3.4 配置集群各节点SSH无密钥登录 38

3.4.1 无密钥登录原理 38

3.4.2 无密钥登录操作步骤 39

3.5 搭建Hadoop 2.x分布式集群 41

第4章 HDFS 48

4.1 HDFS简介 48

4.1.1 设计目标 49

4.1.2 总体架构 49

4.1.3 主要组件 50

4.1.4 文件读写 53

4.2 HDFS命令行操作 54

4.3 HDFS Web界面操作 57

4.4 HDFS Java API操作 59

4.4.1 读取数据 59

4.4.2 创建目录 61

4.4.3 创建文件 62

4.4.4 删除文件 63

4.4.5 遍历文件和目录 64

4.4.6 获取文件或目录的元数据 65

4.4.7 上传本地文件 66

4.4.8 下载文件到本地 66

第5章 MapReduce 68

5.1 MapReduce简介 68

5.1.1 设计思想 69

5.1.2 任务流程 70

5.1.3 工作原理 71

5.2 MapReduce程序编写步骤 74

5.3 案例分析:单词计数 76

5.4 案例分析:数据去重 82

5.5 案例分析:求平均分 86

5.6 案例分析:二次排序 89

5.7 使用MRUnit测试MapReduce程序 97

第6章 ZooKeeper 100

6.1 ZooKeeper简介 100

6.1.1 应用场景 101

6.1.2 架构原理 101

6.1.3 数据模型 102

6.1.4 节点类型 103

6.1.5 Watcher机制 103

6.1.6 分布式锁 105

6.2 ZooKeeper安装配置 106

6.2.1 单机模式 106

6.2.2 伪分布模式 108

6.2.3 集群模式 109

6.3 ZooKeeper命令行操作 112

6.4 ZooKeeper Java API操作 114

6.4.1 创建Java工程 114

6.4.2 创建节点 115

6.4.3 修改数据 118

6.4.4 获取数据 118

6.4.5 删除节点 123

6.5 案例分析:监听服务器动态上下线 124

第7章 HDFS与YARN HA 129

7.1 HDFS HA搭建 129

7.1.1 架构原理 130

7.1.2 搭建步骤 131

7.1.3 结合ZooKeeper进行HDFS自动故障转移 137

7.2 YARN HA搭建 142

7.2.1 架构原理 142

7.2.2 搭建步骤 142

第8章 HBase 147

8.1 什么是HBase 147

8.2 HBase基本结构 148

8.3 HBase数据模型 149

8.4 HBase集群架构 151

8.5 HBase安装配置 153

8.5.1 单机模式 153

8.5.2 伪分布模式 155

8.5.3 集群模式 156

8.6 HBase Shell命令操作 160

8.7 HBase Java API操作 164

8.7.1 创建Java工程 164

8.7.2 创建表 164

8.7.3 添加数据 166

8.7.4 查询数据 168

8.7.5 删除数据 169

8.8 HBase过滤器 170

8.9 案例分析:HBase MapReduce数据转移 174

8.9.1 HBase不同表间数据转移 174

8.9.2 HDFS数据转移至HBase 180

8.10 案例分析:HBase数据备份与恢复 183

第9章 Hive 185

9.1 什么是Hive 185

9.1.1 数据单元 186

9.1.2 数据类型 187

9.2 Hive架构体系 189

9.3 Hive三种运行模式 190

9.4 Hive安装配置 191

9.4.1 内嵌模式 192

9.4.2 本地模式 195

9.4.3 远程模式 198

9.5 Hive常见属性配置 200

9.6 Beeline CLI的使用 201

9.7 Hive数据库操作 205

9.8 Hive表操作 208

9.8.1 内部表 209

9.8.2 外部表 213

9.8.3 分区表 215

9.8.4 分桶表 219

9.9 Hive查询 223

9.9.1 SELECT子句查询 224

9.9.2 JOIN连接查询 230

9.10 其他Hive命令 233

9.11 Hive元数据表结构分析 235

9.12 Hive自定义函数 237

9.13 Hive JDBC操作 239

9.14 案例分析:Hive与HBase整合 242

9.15 案例分析:Hive分析搜狗用户搜索日志 246

第10章 Sqoop 251

10.1 什么是Sqoop 251

10.1.1 Sqoop基本架构 252

10.1.2 Sqoop开发流程 252

10.2 使用Sqoop 253

10.3 数据导入工具 254

10.4 数据导出工具 259

10.5 Sqoop安装与配置 261

10.6 案例分析:将MySQL表数据导入到HDFS中 262

10.7 案例分析:将HDFS中的数据导出到MySQL中 263

10.8 案例分析:将MySQL表数据导入到HBase中 264

第11章 Kafka 267

11.1 什么是Kafka 267

11.2 Kafka架构 268

11.3 主题与分区 269

11.4 分区副本 271

11.5 消费者组 273

11.6 数据存储机制 274

11.7 集群环境搭建 276

11.8 命令行操作 278

11.8.1 创建主题 278

11.8.2 查询主题 279

11.8.3 创建生产者 280

11.8.4 创建消费者 280

11.9 Java API操作 281

11.9.1 创建Java工程 281

11.9.2 创建生产者 281

11.9.3 创建消费者 283

11.9.4 运行程序 285

11.10 案例分析:Kafka生产者拦截器 287

第12章 Flume 294

12.1 什么是Flume 294

12.2 架构原理 295

12.2.1 单节点架构 295

12.2.2 组件介绍 296

12.2.3 多节点架构 297

12.3 安装与简单使用 299

12.4 案例分析:日志监控(一) 302

12.5 案例分析:日志监控(二) 304

12.6 拦截器 306

12.6.1 内置拦截器 307

12.6.2 自定义拦截器 310

12.7 选择器 313

12.8 案例分析:拦截器和选择器的应用 315

12.9 案例分析:Flume与Kafka整合 319

第13章 Storm 322

13.1 什么是Storm 322

13.2 Storm Topology 323

13.3 Storm集群架构 324

13.4 Storm流分组 326

13.5 Storm集群环境搭建 329

13.6 案例分析:单词计数 332

13.6.1 设计思路 332

13.6.2 代码编写 333

13.6.3 程序运行 339

13.7 案例分析:Storm与Kafka整合 341

第14章 Elasticsearch 347

14.1 什么是Elasticsearch 347

14.2 基本概念 348

14.2.1 索引、类型和文档 348

14.2.2 分片和副本 348

14.2.3 路由 349

14.3 集群架构 350

14.4 集群环境搭建 352

14.5 Kibana安装 355

14.6 REST API 357

14.6.1 集群状态API 357

14.6.2 索引API 358

14.6.3 文档API 360

14.6.4 搜索API 363

14.6.5 Query DSL 365

14.7 Head插件安装 371

14.8 Java API操作:员工信息 375

第15章 Scala 379

15.1 什么是Scala 379

15.2 安装Scala 380

15.2.1 Windows中安装Scala 380

15.2.2 CentOS 7中安装Scala 381

15.3 Scala基础 382

15.3.1 变量声明 382

15.3.2 数据类型 383

15.3.3 表达式 385

15.3.4 循环 386

15.3.5 方法与函数 388

15.4 集合 391

15.4.1 数组 391

15.4.2 List 393

15.4.3 Map映射 394

15.4.4 元组 396

15.4.5 Set 396

15.5 类和对象 398

15.5.1 类的定义 398

15.5.2 单例对象 399

15.5.3 伴生对象 399

15.5.4 get和set方法 400

15.5.5 构造器 402

15.6 抽象类和特质 404

15.6.1 抽象类 404

15.6.2 特质 406

15.7 使用Eclipse创建Scala项目 408

15.7.1 安装Scala for Eclipse IDE 408

15.7.2 创建Scala项目 409

15.8 使用IntelliJ IDEA创建Scala项目 410

15.8.1 IDEA中安装Scala插件 410

15.8.2 创建Scala项目 414

第16章 Spark 416

16.1 Spark概述 416

16.2 Spark主要组件 417

16.3 Spark运行时架构 419

16.3.1 Spark Standalone模式 419

16.3.2 Spark On YARN模式 421

16.4 Spark集群环境搭建 423

16.4.1 Spark Standalone模式 423

16.4.2 Spark On YARN模式 425

16.5 Spark HA搭建 426

16.6 Spark应用程序的提交 430

16.7 Spark Shell的使用 433

16.8 Spark RDD 435

16.8.1 创建RDD 435

16.8.2 RDD算子 436

16.9 案例分析:使用Spark RDD实现单词计数 441

16.10 Spark SQL 448

16.10.1 DataFrame和Dataset 448

16.10.2 Spark SQL基本使用 449

16.11 案例分析:使用Spark SQL实现单词计数 452

16.12 案例分析:Spark SQL与Hive整合 454

16.13 案例分析:Spark SQL读写MySQL 457