本篇主要提供大数据平台运维电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
本书为“1+X”职业技能等级证书配套教材,按 1+X 证书制度试点大数据平台运维职业技能等级标准编写。本书从大数据平台运维工程师的角度,由浅入深、 地介绍了大数据平台运维的相关实践知识和核心实操。本书共六部分,包括21章: 部分,大数据平台架构,涉及大数据的特点及发展趋势、大数据的实施和运维流程、大数据的应用场景与案例;第二部分,大数据平台高可用(HA)集群部署,涉及Hadoop集群基础环境的配置、Hadoop HA集群的配置、Hadoop HA集群的启动;第三部分,大数据组件的维护,涉及HBase组件的维护、Hive组件的维护、ZooKeeper组件的维护、ETL组件的维护、Spark组件的维护;第四部分,大数据平台优化,涉及Linux系统优化、HDFS配置优化、MapReduce配置优化、Spark配置优化;第五部分,大数据平台的诊断与处理,涉及Hadoop及生态圈组件负载均衡的诊断与处理、集群节点故障的诊断与处理、集群组件服务故障的诊断与处理;第六部分,大数据平台项目综合案例,涉及数据仓库运维项目实战、金融行业运维项目实战、典型大数据平台监控运维项目实战。本书可作为中职院校和高职院校大数据及计算机类相关专业的教材,也可作为大数据平台运维人员的参考用书。
紫光股份旗下新华三集团作为数字化解决方案 ,致力于成为客户业务创新、数字化转型 可信赖的合作伙伴。新华三拥有计算、存储、网络、5G、安全等 的数字化基础设施整体能力,提供云计算、大数据、人工智能、工业互联网、信息安全、智能联接、新安防、边缘计算等在内的一站式数字化解决方案,以及端到端的技术服务。同时,新华三也是HPE?服务器、存储和技术服务的中国 提供商。
目录
部分 大数据平台架构
第1章 大数据的特点及发展趋势2
1.1 大数据平台架构概述2
1.1.1 大数据的概念2
1.1.2 大数据的特征3
1.1.3 大数据的处理流程及相关
技术4
1.1.4 大数据平台架构的特点5
1.2 大数据平台架构的原理5
1.3 大数据的发展历程6
1.3.1 大数据的具体发展过程6
1.3.2 大数据技术的具体发展历程7
1.4 大数据的发展趋势8
1.4.1 大数据技术面临的挑战8
1.4.2 大数据应用的发展趋势10
1.5 本章小结11
第2章 大数据的实施和运维流程12
2.1 大数据实施和运维工程师的
工作职责12
2.1.1 大数据职位体系12
2.1.2 大数据实施工程师的
工作职责14
2.1.3 大数据运维工程师的
工作职责15
2.2 大数据实施和运维工程师的
工作能力素养要求15
2.2.1 大数据实施工程师的
工作能力素养要求15
2.2.2 大数据运维工程师的
工作能力素养要求16
2.3 大数据项目实施的工作流程18
2.3.1 大数据项目规划阶段18
2.3.2 大数据项目数据治理阶段19
2.3.3 大数据项目设计阶段20
2.3.4 大数据项目数据应用阶段21
2.3.5 大数据项目迭代实施与
应用推广阶段22
2.4 大数据运维的日常工作23
2.4.1 应急处置23
2.4.2 故障报告24
2.4.3 故障检查24
2.4.4 故障诊断25
2.4.5 故障测试与修复25
2.5 本章小结26
第3章 大数据的应用场景与案例27
3.1 大数据平台架构的典型
行业应用场景27
3.1.1 医疗行业的应用27
3.1.2 金融行业的应用28
3.1.3 零售行业的应用29
3.1.4 地产行业的应用29
3.1.5 农业的应用30
3.1.6 政务和智慧城市的应用30
3.1.7 教育行业的应用30
3.1.8 环境行业的应用30
3.2 大数据平台架构的典型
企业应用场景30
3.2.1 舆情分析31
3.2.2 商业智能31
3.3 Hadoop生态圈中行业应用的
典型实战案例32
3.3.1 电信行业――中国移动
基于Hadoop的大数据应用32
3.3.2 金融行业――VISA公司
的Hadoop应用案例33
3.3.3 电商行业――eBay网站
的Hadoop应用案例33
3.4 Hadoop生态圈中企业应用的
典型实战案例33
3.4.1 新华三大数据集成平台
在大地影院的应用案例背景33
3.4.2 大地的应用案例的用户
痛点分析34
3.4.3 大地的应用案例的项目需求34
3.4.4 大地的应用案例的数据构成34
3.4.5 大地的应用案例的技术
方案设计与实现34
3.4.6 大地的应用案例系统核心组件
(H3C数据集成组件)简介36
3.4.7 大地的应用案例的系统
优势及成效36
3.5 本章小结36
第二部分 大数据平台高可用(HA)集群部署
第4章 Hadoop集群基础环境的配置38
4.1 Hadoop集群概述38
4.1.1 Hadoop集群的核心组件38
4.1.2 Hadoop集群的网络拓扑
结构40
4.2 平台系统的环境设置41
4.2.1 Linux系统环境配置41
4.2.2 创建hadoop用户43
4.3 Linux防火墙43
4.3.1 Linux防火墙的种类与特点44
4.3.2 Linux防火墙管理45
4.4 SELinux47
4.4.1 SELinux简介47
4.4.2 SELinux的功能47
4.4.3 SELinux的配置47
4.4.4 关闭集群中的SELinux47
4.5 配置集群主机之间时钟同步48
4.5.1 直接同步48
4.5.2 平滑同步49
4.6 SSH无密码登录50
4.6.1 生成SSH密钥50
4.6.2 交换SSH密钥51
4.6.3 验证SSH无密码登录52
4.7 Java环境变量配置52
4.7.1 JDK功能简介52
4.7.2 下载JDK安装包53
4.7.3 JDK的安装与环境变量配置53
4.8 Hadoop的安装与配置54
4.8.1 获取Hadoop安装包54
4.8.2 安装Hadoop软件54
4.9 本章小结55
第5章 Hadoop HA集群的配置56
5.1 Hadoop HA集群的特点56
5.2 Hadoop HA集群的实现原理57
5.2.1 HDFS HA的实现原理57
5.2.2 YARN HA的实现原理58
5.3 ZooKeeper的特点58
5.3.1 ZooKeeper的功能原理58
5.3.2 ZooKeeper集群节点组成59
5.3.3 ZooKeeper的同步机制60
5.3.4 ZooKeeper的选举机制60
5.4 ZooKeeper HA集群61
5.4.1 在master节点上安装
部署ZooKeeper61
5.4.2 在master节点上配置
ZooKeeper文件参数61
5.4.3 分发ZooKeeper给slave1节点
和slave2节点62
5.5 Hadoop HA集群的文件参数64
5.5.1 在master节点上配置
Hadoop HA集群的文件参数64
5.5.2 分发hadoop相关文件给
slave1节点和slave2节点68
5.6 JournalNode服务69
5.6.1 JournalNode服务的原理69
5.6.2 启动JournalNode服务70
5.7 本章小结70
第6章 Hadoop HA集群的启动71
6.1 HDFS的格式化71
6.1.1 active NameNode的格式化
和启动71
6.1.2 standby NameNode的格式化
和启动72
6.1.3 格式化ZKFC73
6.2 Hadoop HA集群的启动流程73
6.2.1 启动HDFS73
6.2.2 启动YARN74
6.2.3 启动MapReduce的
历史服务器75
6.3 启动后验证75
6.3.1 查看进程75
6.3.2 查看端口76
6.3.3 运行测试77
6.4 Hadoop HA集群的主备切换78
6.4.1 Hadoop HA集群的切换
机制78
6.4.2 手动切换测试79
6.4.3 自动切换测试79
6.5 本章小结81
第三部分 大数据组件的维护
第7章 HBase组件的维护84
7.1 NoSQL与传统RDBMS的
差异84
7.1.1 传统RDBMS及其
应用场景84
7.1.2 NoSQL简介85
7.2 HBase组件的原理86
7.2.1 HBase简介86
7.2.2 HBase的体系结构86
7.3 HBase的分布式部署87
7.3.1 HBase集群环境准备87
7.3.2 HBase的分布式安装88
7.4 HBase库/表管理90
7.4.1 HBase库管理90
7.4.2 HBase表管理91
7.5 HBase数据操作93
7.5.1 基础操作93
7.5.2 模糊查询94
7.5.3 批量导入/导出95
7.6 HBase错误恢复97
7.7 退出HBase库98
7.8 卸载HBase库98
7.9 本章小结98
第8章 Hive组件的维护99
8.1 Hive的架构99
8.1.1 Hive简介99
8.1.2 Hive的数据类型100
8.2 分布式部署Hive101
8.2.1 环境需求101
8.2.2 MySQL的安装与启动102
8.2.3 配置Hive参数103
8.2.4 Beeline CLI远程访问Hive105
8.3 Hive库操作106
8.4 Hive表操作107
8.4.1 创建表107
8.4.2 查看与修改表108
8.4.3 删除表和退出Hive108
8.5 Hive数据操作109
8.5.1 数据导入109
8.5.2 查询110
8.6 Hive宕机恢复111
8.6.1 数据备份111
8.6.2 基于HDFS的数据恢复112
8.6.3 基于MySQL元数据
生成表结构112
8.7 退出和卸载Hive组件115
8.7.1 退出Hive115
8.7.2 卸载Hive115
8.8 本章小结115
第9章 ZooKeeper组件的维护116
9.1 ZooKeeper基础116
9.1.1 ZooKeeper简介116
9.1.2 ZooKeeper中的重要概念117
9.2 ZooKeeper的功能及其优点
和局限性117
9.2.1 ZooKeeper的功能117
9.2.2 ZooKeeper的优点118
9.2.3 ZooKeeper的局限性118
9.3 ZooKeeper的架构118
9.4 ZooKeeper仲裁模式119
9.5 配置ZooKeeper120
9.6 配置ZooKeeper集群120
9.6.1 集群环境准备120
9.6.2 ZooKeeper集群的安装121
9.7 Zookeeper集群的决策选举122
9.8 ZooKeeper组件管理123
9.8.1 JMX管理框架123
9.8.2 ZooKeeper Shell操作125
9.9 本章小结127
0章 ETL组件的维护128
10.1 Sqoop概述与架构128
10.1.1 Sqoop概述128
10.1.2 Sqoop的架构129
10.2 Flume概述与架构130
10.2.1 Flume概述130
10.2.2 Flume的架构130
10.3 Kafka概述与架构131
10.3.1 Kafka概述131
10.3.2 Kafka的架构132
10.4 Sqoop导入数据133
10.5 Sqoop导出数据134
10.6 修改控制Sqoop组件的
参数134
10.7 Flume组件代理配置136
10.8 Flume组件的数据获取137
10.9 Flume组件管理137
10.10 Kafka组件的部署138
10.11 Kafka组件的验证部署139
10.12 Kafka组件的数据处理140
10.13 本章小结141
1章 Spark组件的维护142
11.1 Spark概述与架构142
11.1.1 Spark概述142
11.1.2 Spark的架构144
11.2 Spark的工作原理146
11.3 Scala的安装部署148
11.3.1 Scala简介148
11.3.2 Scala的安装148
11.4 安装Spark149
11.4.1 Spark模式介绍149
11.4.2 Spark的安装部署151
11.5 修改Spark参数154
11.5.1 Spark属性154
11.5.2 环境变量155
11.5.3 Spark日志156
11.5.4 覆盖配置目录156
11.6 Spark Shell编程156
11.6.1 Spark Shell概述156
11.6.2 Spark Shell操作156
11.7 Spark的基本管理158
11.8 本章小结160
第四部分 大数据平台优化
2章 Linux系统优化162
12.1 Linux系统优化工具162
12.1.1 free命令162
12.1.2 top命令163
12.2 优化Linux系统的内存164
12.2.1 将hadoop用户添加到
sudo组中164
12.2.2 避免使用Swap分区164
12.2.3 脏页配置优化165
12.3 优化Linux系统网络167
12.3.1 关闭Linux防火墙167
12.3.2 禁用IPv6167
12.3.3 修改somaxconn参数167
12.3.4 Socket读/写缓冲区的
调优168
12.3.5 iperf网络测试工具169
12.4 优化Linux系统磁盘169
12.4.1 I/O调度器的选择169
12.4.2 禁止记录访问时间戳171
12.5 优化Linux文件系统172
12.5.1 增大可打开文件描述符的
数目172
12.5.2 关闭THP172
12.5.3 关闭SELinux173
12.6 优化Linux系统预读缓冲区173
12.7 本章小结174
3章 HDFS配置优化175
13.1 HDFS概述175
13.1.1 HDFS写数据流程176
13.1.2 HDFS读数据流程176
13.2 存储优化176
13.2.1 合理的副本系数177
13.2.2 合理的数据块大小178
13.3 磁盘I/O优化179
13.3.1 多数据存储目录179
13.3.2 开启HDFS的短路本地
读配置183
13.4 节点通信优化183
13.4.1 延迟blockreport次数183
13.4.2 增大DataNode文件并发
传输的大小184
13.4.3 增大NameNode工作线
程池的大小184
13.4.4 增加DataNode连接
NameNode的RPC请求的
线程数量185
13.4.5 调整DataNode用于平衡
操作的带宽185
13.5 其他常见的优化项186
13.5.1 避免读取“过时”的
DataNode186
13.5.2 避免写入失效的
DataNode186
13.5.3 为MapReduce任务保留
一些硬盘资源187
13.6 本章小结187
4章 MapReduce配置优化188
14.1 MapReduce概述188
14.2 Map阶段的优化190
14.2.1 降低溢出(spill)的次数190
14.2.2 在Map Task结束前对spill
文件进行合并191
14.2.3 减少合并写入磁盘文件的
数据量192
14.2.4 控制Map中间结果是否
使用压缩192
14.2.5 选择Map中间结果的
压缩算法193
14.3 Reduce阶段的优化193
14.3.1 Reduce Task的数量193
14.3.2 Reduce I/O的相关参数195
14.3.3 Reduce Shuffle阶段并行
传输数据的数量196
14.3.4 tasktracker并发执行的
Reduce数196
14.3.5 可并发处理来自tasktracker
的RPC请求数197
14.4 本章小结197
5章 Spark配置优化198
15.1 优化Spark Streaming配置198
15.1.1 Spark Streaming简介198
15.1.2 Spark参数的配置方式199
15.1.3 Spark常用的优化参数202
15.2 优化Spark读取Kafka202
15.2.1 Spark参数设置202
15.2.2 Kafka参数设置203
15.3 优化读取Flume205
15.3.1 Flume参数设置205
15.3.2 接收端参数设置206
15.3.3 Spark读取Flume206
15.4 优化Spark写入HDFS208
15.4.1 Spark Shell读取并
写入HDFS208
15.4.2 显示调用Hadoop API
写入HDFS208
15.4.3 Spark Streaming实时
监控HDFS209
15.5 优化Spark Scala代码210
15.5.1 Scala编程技巧210
15.5.2 Scala数据优化211
15.6 本章小结212
第五部分 大数据平台的诊断与处理
6章 Hadoop及生态圈组件负载均衡
的诊断与处理214
16.1 HDFS磁盘负载不均衡问题
及解决方案214
16.1.1 问题概述214
16.1.2 磁盘负载不均衡的原因
与影响215
16.1.3 HDFS磁盘负载不均衡
的解决方案215
16.2 MapReduce负载不均衡
问题215
16.2.1 问题概述215
16.2.2 MapReduce的原理分析216
16.2.3 MapReduce负载不均衡的
解决方案216
16.3 Spark负载不均衡问题216
16.3.1 问题概述216
16.3.2 Spark负载不均衡的危害217
16.3.3 Spark负载不均衡的原因217
16.3.4 问题发现与定位217
16.3.5 Spark负载不均衡的
解决方案218
16.3.6 自定义Partitioner219
16.3.7 Reduce端Join转化为
Map端Join219
16.4 HBase负载不均衡问题220
16.4.1 问题概述220
16.4.2 HBase负载不均衡的
原因及解决方案220
16.4.3 性能指标221
16.5 Hive数据不均衡问题222
16.5.1 问题概述222
16.5.2 Hive数据不均衡的
原因及解决方案223
16.5.3 Hive的典型业务场景223
16.6 本章小结224
7章 集群节点故障的诊断与处理225
17.1 使用集群日志对节点
故障进行诊断225
17.1.1 Hadoop集群中的
日志文件226
17.1.2 日志主要结构解析226
17.1.3 日志级别分析227
17.2 使用集群告警信息诊断节点
故障227
17.2.1 集群告警信息监控227
17.2.2 集群节点主机告警信息228
17.3 Ganglia大数据集群
节点监控229
17.4 处理集群节点故障230
17.4.1 集群节点硬件异常230
17.4.2 集群节点组件及系统异常231
17.5 本章小结231
8章 集群组件服务故障的诊断
与处理232
18.1 使用集群日志诊断组件
服务故障问题232
18.1.1 大数据集群常见
故障问题232
18.1.2 集群中各组件日志解析232
18.2 使用集群告警信息诊断组件
服务故障问题234
18.3 制订集群告警信息诊断组件
服务故障问题的解决方案236
18.3.1 Nagios简介236
18.3.2 Nagios的工作原理236
18.3.3 Nagios的功能与用途236
18.3.4 Nagios的监测模式237
18.4 处理集群告警信息诊断组件
服务故障问题238
18.4.1 Hadoop常见故障问题分析238
18.4.2 Nagios配置监控
Hadoop日志239
18.5 本章小结240
第六部分 大数据平台项目综合案例
9章 数据仓库运维项目实战242
19.1 项目背景和流程242
19.1.1 项目背景242
19.1.2 项目流程243
19.2 数据的说明、导入及清洗
和预处理244
19.2.1 数据说明244
19.2.2 数据导入245
19.2.3 清洗和预处理246
19.3 Hive建仓248
19.3.1 数据仓库的分层设计248
19.3.2 Hive数据入仓249
19.3.3 业务调用252
19.4 本章小结253
第20章 金融行业运维项目实战254
20.1 项目背景和流程254
20.1.1 项目背景254
20.1.2 项目流程255
20.2 数据说明及清洗255
20.2.1 数据说明255
20.2.2 数据清洗256
20.3 数据分析258
20.3.1 借款金额分布258
20.3.2 借款等级分布258
20.3.3 借款等级与借款金额的
关联关系259
20.3.4 借款金额与工作年限、
年收入的关联关系259
20.3.5 借款金额与房屋所有权
状态的关联关系260
20.4 数据可视化260
20.5 综合分析264
20.6 本章小结264
第21章 典型大数据平台监控运维
项目实战265
21.1 实验背景和流程265
21.1.1 实验背景265
21.1.2 实验流程266
21.2 数据说明及预处理267
21.2.1 数据说明267
21.2.2 数据预处理267
21.3 安装Ganglia269
21.3.1 安装Ganglia所需的依赖269
21.3.2 监控端安装Gmeta、
Gmond、Gweb、
Nginx、Php270
21.3.3 被监控端安装Gmond274
21.4 开启Ganglia274
21.4.1 修改Ganglia-monitor的
配置文件274
21.4.2 主节点配置275
21.4.3 修改Hadoop的配置文件275
21.4.4 重启所有服务276
21.4.5 访问页面查看各机器的
节点信息276
21.5 进行上传操作277
21.6 进行查询操作278
21.7 Ganglia监控结果279
21.7.1 基本指标279
21.7.2 上传操作前后集群状态的
变化279
21.7.3 查询操作前后集群状态的
变化280
21.8 本章小结281