商品详情
《海量数据处理与大数据技术实战》
定价:128.00元
作者:冰河编著
书号:978-7-301-31339-8
装帧:平装
出版日期:2020.9
出版社:北京大学出版社
开本:16开
页码:616
内容简介
《海量数据处理与大数据技术实战》是大数据开发领域中以实战案例为主旨的经典之作。本书全面阐述了大数据开发领域中常用的技术原理和框架,以及框架对应的实战案例。全书共分为四大篇章:大数据基础篇、大数据离线批处理技术篇、大数据在线实时处理技术篇、大数据处理实战案例篇。大数据基础篇主要介绍了大数据的基础知识、Hadoop和Storm的基础知识以及发展现状和应用前景;大数据离线批处理技术篇主要介绍了Hadoop、Hive和Sqoop的基本原理、环境搭建和项目案例;大数据在线实时处理技术篇主要介绍了Flume、Kafka、Storm的基本原理、环境搭建和项目案例;大数据处理实战案例篇详细介绍了基于海量日志数据的分析统计系统的实现过程,期间对各种大数据框架进行了整合,此案例项目稍加修改,便可应用于实际开发项目中。
作者简介
冰河(本名刘亚壮),大数据架构师,编程专家,拥有多年的项目架构和实战经验,多年来致力于分布式系统、微服务、分布式数据库、大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的实战经验,对Hadoop、Spark、Storm等大数据框架源码进行过深度分析并具有丰富的实战经验。
目录
CONTENTS
第1篇 大数据基础篇
第1章 大数据处理概论 1
1.1 大数据的定义 2
1.2 大数据的结构类型 3
1.3 大数据处理平台的基础架构 4
1.4 大数据处理中的存储技术 6
1.4.1 提升大数据存储的容量 6
1.4.2 提升大数据存储的吞吐量 6
1.4.3 提升大数据存储的扩展 8
1.5 大数据处理中的计算技术 8
1.5.1 多处理技术 9
1.5.2 并行计算 9
1.5.3 高并发计算 9
1.5.4 离线批处理计算 9
1.5.5 在线实时计算 10
1.6 大数据处理中的容错性 10
1.6.1 数据存储的容错性 10
1.6.2 数据计算的容错性 12
1.7 大数据处理中的安全性 12
1.7.1 数据存储的安全性 13
1.7.2 数据计算的安全性 13
1.8 大数据行业应用案例 13
1.8.1 淘宝的千人千面系统 14
1.8.2 滴滴出行的车辆调度系统 14
1.9 本章总结 14
第2章 离线批处理技术——Hadoop 15
2.1 Google核心云计算技术 16
2.1.1 MapReduce编程模型 16
2.1.2 分布式文件系统 17
2.1.3 分布式结构化数据存储BigTable 20
2.2 Hadoop云计算技术 21
2.2.1 Hadoop概述 22
2.2.2 Hadoop核心组件 22
2.2.3 Hadoop生态圈 24
2.2.4 Hadoop物理架构 26
2.2.5 Hadoop的原理和运行机制 27
2.2.6 Hadoop相关技术与概述 30
2.2.7 Hadoop的局限性 31
2.3 本章总结 32
第3章 在线实时处理技术——Storm 33
3.1 Storm的定义 34
3.2 Storm的诞生 34
3.2.1 诞生背景 34
3.2.2 Twitter使用Storm 34
3.3 Storm的发展 35
3.4 Storm的基本组件 35
3.4.1 Storm核心组件 35
3.4.2 Storm集群组成 36
3.4.3 Storm分组策略 37
3.5 Storm的可靠性 38
3.6 Storm的特性 40
3.7 其他流式处理框架 41
3.7.1 Apache S4 41
3.7.2 Spark Streaming 41
3.8 Storm的应用现状和发展趋势 42
3.8.1 Storm的应用现状 42
3.8.2 Storm的发展趋势 43
3.9 本章总结 43
第2篇 大数据离线批处理技术篇
第4章 Hadoop环境准备 44
4.1 Hadoop发行版本的选择 45
4.1.1 Apache Hadoop 45
4.1.2 CDH 45
4.1.3 Hadoop版本 45
4.1.4 如何选择Hadoop版本 47
4.2 Hadoop原理 47
4.2.1 HDFS原理 48
4.2.2 Hadoop MapReduce原理 51
4.2.3 Hadoop YARN原理 51
4.3 Hadoop架构 53
4.3.1 HDFS架构 53
4.3.2 Hadoop MapReduce架构 55
4.3.3 Hadoop YRAN架构 56
4.4 安装CentOS虚拟机 57
4.4.1 安装VMWare虚拟机 57
4.4.2 安装CentOS虚拟机 59
4.4.3 修改主机名 66
4.4.4 配置静态IP地址 67
4.4.5 配置主机名和IP地址的映射关系 69
4.4.6 关闭防火墙 70
4.4.7 配置SSH免密码登录 70
4.5 本章总结 72
第5章 安装配置Hadoop 73
5.1 添加Hadoop用户身份 74
5.1.1 添加Hadoop用户组和用户 74
5.1.2 赋予Hadoop用户目录权限 74
5.1.3 赋予Hadoop用户sodu权限 74
5.1.4 赋予Hadoop用户登录密码 75
5.1.5 配置Hadoop用户SSH免密码登录 75
5.2 Hadoop的安装模式 75
5.2.1 本地模式 75
5.2.2 伪集群模式 76
5.2.3 集群模式 76
5.3 JDK的安装和配置 76
5.3.1 下载JDK 77
5.3.2 上传JDK到CentOS虚拟机 77
5.3.3 安装并配置JDK 78
5.4 Hadoop的本地模式安装和配置 80
5.4.1 下载Hadoop安装包 80
5.4.2 安装并配置Hadoop环境 81
5.4.3 以本地模式配置Hadoop 82
5.4.4 验证Hadoop本地模式是否安装成功 82
5.5 Hadoop的伪集群模式安装和配置 84
5.5.1 以伪集群模式配置Hadoop 84
5.5.2 格式化NameNode 86
5.5.3 启动Hadoop 87
5.5.4 以浏览器方式验证环境搭建是否成功 87
5.5.5 运行MapReduce程序验证环境搭建是否成功 88
5.6 Hadoop集群模式的安装和配置(完全生产环境) 90
5.6.1 服务器规划 90
5.6.2 Hadoop集群环境的准备 91
5.6.3 安装并配置集群环境下的JDK 93
5.6.4 搭建并配置Zookeeper集群 94
5.6.5 搭建并配置Hadoop集群 96
5.6.6 启动Zookeeper集群 103
5.6.7 启动Hadoop集群(1) 104
5.6.8 启动Hadoop集群(2) 109
5.6.9 测试Hadoop HA的高可用性 111
5.7 Hadoop集群模式的安装和配置(精简版) 114
5.7.1 服务器规划 115
5.7.2 搭建并测试Hadoop集群环境 115
5.8 搭建Hadoop环境遇到的问题及解决方案 116
5.8.1 以root用户启动Hadoop的问题 116
5.8.2 权限被拒绝 117
5.8.3 sudo命令异常 117
5.8.4 Hadoop 3.x端口变动 118
5.8.5 Hadoop 3.x未能找到或加载MRAppMaster类 118
5.8.6 未能加载native-hadoop library的警告 120
5.8.7 Hadoop 3.x运行自带的wordcount报错 120
5.8.8 Hadoop命令变动 122
5.9 Hadoop集群动态增加和删除节点 123
5.9.1 准备工作 123
5.9.2 动态添加DataNode和NodeManager 124
5.9.3 动态删除DataNode与NodeManager(1) 127
5.9.4 动态删除DataNode与NodeManager(2) 129
5.10 Hadoop目录结构说明 130
5.11 本章总结 130
第6章 承载海量数据存储的Hadoop HDFS 131
6.1 Hadoop HDFS架构和容错 132
6.1.1 HDFS架构 132
6.1.2 HDFS容错 136
6.2 Hadoop HDFS文件管理 138
6.2.1 HDFS的块分布 138
6.2.2 数据读取 139
6.2.3 数据写入 139
6.2.4 数据完整性 140
6.2.5 通过命令行管理文件 141
6.2.6 通过API管理文件 150
6.3 重新格式化HDFS 162
6.4 本章总结 164
第7章 承载海量数据并行计算的MapReduce 165
7.1 MapReduce的原理和部署结构 166
7.1.1 MapReduce的原理 166
7.1.2 MapReduce的部署结构 167
7.2 MapReduce的工作机制 167
7.2.1 MapReduce的运行流程 167
7.2.2 MapReduce的容错机制 169
7.3 本章总结 171
第8章 Hadoop MapReduce编程案例 172
8.1 Java程序案例 173
8.1.1 经典的WordCount案例 173
8.1.2 Hadoop实现连接 176
8.1.3 Hadoop实现二次排序 181
8.1.4 Hadoop实现获取最大值和最小值 184
8.1.5 Hadoop Combiner编程 187
8.1.6 Hadoop Partitioner编程 191
8.1.7 Hadoop实现倒排索引 193
8.1.8 Java案例引用的类 199
8.2 Python程序案例 200
8.2.1 搭建Python运行环境 200
8.2.2 使用原生Python编写MapReduce程序 201
8.2.3 使用Mrjob框架编写MapReduce程序 204
8.2.4 使用Python实现自动上传本地log到HDFS 206
8.2.5 使用Python统计网站访问流量 209
8.2.6 使用Python统计网站HTTP状态码 210
8.2.7 使用Python统计网站分钟级请求数 211
8.2.8 使用Python统计网站的来源IP 213
8.2.9 使用Python统计网站文件或接口 214
8.3 遇到的问题和解决方案 216
8.3.1 设置访问控制列表异常 216
8.3.2 执行hadoop jar命令报错 216
8.3.3 安装Mrjob环境报错 217
8.3.4 安装cron服务 219
8.3.5 以hadoop用户运行cron定时任务报错 220
8.4 本章总结 220
第9章 Hive环境搭建 221
9.1 Hive架构和部署模式 222
9.1.1 Hive架构 222
9.1.2 内嵌模式 222
9.1.3 本地模式 223
9.1.4 远程模式 223
9.2 安装并配置MySQL数据库 224
9.2.1 安装MySQL数据库的依赖环境 224
9.2.2 安装MySQL数据库 224
9.3 Hive环境部署 230
9.3.1 内嵌模式安装并配置Hive 230
9.3.2 以本地模式安装并配置Hive 233
9.3.3 以远程模式安装并配置Hive 239
9.3.4 遇到的问题和解决方案 241
9.4 本章总结 243
- 北京大学出版社旗舰店 (微信公众号认证)
- 【发票】在订单留言电子邮箱、发票抬头、税号、(统一开电子发票,缺一项都不能开票,自行下载打印)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...