《大数据处理之道》剖析较为了时下流行的大数据处理技术的好坏及可用情景,让读者能够依据自身的要求来挑选适合的专用工具和计划方案,最该一读。这书遮盖了当今大数据处理行业的受欢迎技术,包含Hadoop、Spark、Storm、Dremel、Drill等,深入分析了各种各样技术的应用领域和优点和缺点;另外阐述了互联网大数据下的日志分析系统,重中之重解读了ELK系统日志解决计划方案;最终剖析了大数据处理技术的发展趋向。这书选用风趣的描述设计风格,使读者非常容易了解、轻轻松松把握;重中之重从各种各样技术的发源、设计方案观念、构架等层面阐述,以协助读者从根本原因上领悟到大数据处理之道。
目录
- 0“疯狂”的大数据 1
- 0.1大数据时代 1
- 0.2数据就是“金库” 3
- 0.3让大数据“活”起来 4
- 第1篇Hadoop军营
- 1 Hadoop一石激起千层浪 7
- 1.1Hadoop诞生——不仅仅是玩具 7
- 1.2Hadoop发展——各路英雄集结 8
- 1.3Hadoop和它的小伙伴们 10
- 1.4Hadoop应用场景 12
- 1.5小结 13
- 2 MapReduce奠定基石 14
- 2.1MapReduce设计思想 14
- 2.2MapReduce运行机制 19
- 2.2.1MapReduce的组成 19
- 2.2.2MapReduce作业运行流程 20
- 2.2.3JobTracker解剖 26
- 2.2.4TaskTracker解剖 34
- 2.2.5失败场景分析 42
- 2.3MapReduce实例分析 43
- 2.3.1运行WordCount程序 44
- 2.3.2WordCount源码分析 45
- 2.4小结 48
- 3 分布式文件系统 49
- 3.1群雄并起的DFS 49
- 3.2HDFS文件系统 51
- 3.2.1HDFS 设计与架构 52
- 3.2.2HDFS 操作与API 56
- 3.2.3HDFS的优点及适用场景 60
- 3.2.4HDFS的缺点及改进策略 61
- 3.3小结 62
- 4 Hadoop体系的“四剑客” 63
- 4.1数据仓库工具Hive 63
- 4.1.1Hive缘起何处 63
- 4.1.2Hive和数据库的区别 65
- 4.1.3Hive设计思想与架构 66
- 4.1.4适用场景 74
- 4.2大数据仓库HBase 74
- 4.2.1HBase因何而生 74
- 4.2.2HBase的设计思想和架构 77
- 4.2.3HBase优化技巧 84
- 4.2.4HBase和Hive的区别 86
- 4.3Pig编程语言 87
- 4.3.1Pig的缘由 87
- 4.3.2Pig的基本架构 88
- 4.3.3Pig与Hive的对比 90
- 4.3.4Pig的执行模式 90
- 4.3.5Pig Latin语言及其应用 91
- 4.4协管员ZooKeeper 96
- 4.4.1ZooKeeper是什么 96
- 4.4.2ZooKeeper的作用 97
- 4.4.3ZooKeeper的架构 98
- 4.4.4ZooKeeper的数据模型 100
- 4.4.5ZooKeeper的常用接口及操作 102
- 4.4.6ZooKeeper的应用场景分析 105
- 4.5小结 108
- 5 Hadoop资源管理与调度 110
- 5.1Hadoop调度机制 110
- 5.1.1FIFO 111
- 5.1.2计算能力调度器 111
- 5.1.3公平调度器 113
- 5.2Hadoop YARN资源调度 114
- 5.2.1YARN产生的背景 114
- 5.2.2Hadoop YARN的架构 116
- 5.2.3YARN的运作流程 118
- 5.3Apache Mesos资源调度 120
- 5.3.1Apache Mesos的起因 120
- 5.3.2Apache Mesos的架构 121
- 5.3.3基于Mesos的Hadoop 123
- 5.4Mesos与YARN对比 127
- 5.5小结 128
- 6 Hadoop集群管理之道 129
- 6.1Hadoop 集群管理与维护 129
- 6.1.1Hadoop集群管理 129
- 6.1.2Hadoop集群维护 131
- 6.2Hadoop 集群调优 132
- 6.2.1Linux文件系统调优 132
- 6.2.2Hadoop通用参数调整 133
- 6.2.3HDFS相关配置 133
- 6.2.4MapReduce相关配置 134
- 6.2.5Map任务相关配置 136
- 6.2.6HBase搭建重要的HDFS参数 137
- 6.3Hadoop 集群监控 137
- 6.3.1Apache Ambari监控 137
- 6.3.2Ganglia监控Hadoop 138
- 6.4小结 138
- 第2篇Spark星火燎原
- 7 Spark宝刀出鞘 141
- 7.1Spark的历史渊源 141
- 7.1.1Spark的诞生 141
- 7.1.2Spark的发展 142
- 7.2Spark和Hadoop MapReduce对比 143
- 7.3Spark的适用场景 145
- 7.4Spark的硬件配置 146
- 7.5Spark架构 147
- 7.5.1Spark生态架构 147
- 7.5.2Spark运行架构 149
- 7.6小结 151
- 8 Spark核心RDD 153
- 8.1RDD简介 153
- 8.1.1什么是RDD 153
- 8.1.2为什么需要RDD 154
- 8.1.3RDD本体的设计 154
- 8.1.4RDD与分布式共享内存 155
- 8.2RDD的存储级别 155
- 8.3RDD依赖与容错 157
- 8.3.1RDD依赖关系 157
- 8.3.2RDD容错机制 160
- 8.4RDD操作与接口 161
- 8.4.1RDD Transformation操作与接口 162
- 8.4.2RDD Action操作与接口 164
- 8.5RDD编程示例 165
- 8.6小结 166
- 9 Spark运行模式和流程 167
- 9.1Spark运行模式 167
- 9.1.1Spark的运行模式列表 167
- 9.1.2Local模式 168
- 9.1.3Standalone模式 169
- 9.1.4Spark on Mesos模式 171
- 9.1.5Spark on YARN 模式 173
- 9.1.6Spark on EGO 模式 175
- 9.2Spark作业流程 177
- 9.2.1YARN-Client模式的作业流程 178
- 9.2.2YARN-Cluster模式的作业流程 179
- 9.3小结 181
- 10 Shark和Spark SQL 183
- 10.1从Shark到Spark SQL 183
- 10.1.1Shark的撤退是进攻 183
- 10.1.2Spark SQL接力 185
- 10.1.3Spark SQL与普通SQL的区别 186
- 10.2Spark SQL应用架构 187
- 10.3Spark SQL之DataFrame 188
- 10.3.1什么是DataFrame 188
- 10.3.2DataFrame的创建 188
- 10.3.3DataFrame的使用 190
- 10.4Spark SQL运行过程分析 190
- 10.5小结 192
- 11 Spark Streaming流数据处理新贵 193
- 11.1Spark Streaming是什么 193
- 11.2Spark Streaming的架构 194
- 11.3Spark Streaming的操作 195
- 11.3.1Spark Streaming的Transformation操作 196
- 11.3.2Spark Streaming的Window操作 197
- 11.3.3Spark Streaming的Output操作 198
- 11.4Spark Streaming性能调优 198
- 11.5小结 200
- 12 Spark GraphX图计算系统 201
- 12.1图计算系统 201
- 12.1.1图存储模式 202
- 12.1.2图计算模式 203
- 12.2Spark GraphX的框架 206
- 12.3Spark GraphX的存储模式 207
- 12.4Spark GraphX的图运算符 208
- 12.5小结 211
- 13 Spark Cluster管理 212
- 13.1Spark Cluster部署 212
- 13.2Spark Cluster管理与监控 213
- 13.2.1内存优化机制 213
- 13.2.2Spark日志系统 213
- 13.3Spark 高可用性 215
- 13.4小结 216
- 第3篇其他大数据处理技术
- 14 专为流数据而生的Storm 218
- 14.1Storm起因 218
- 14.2Storm的架构与组件 220
- 14.3Storm的设计思想 222
- 14.4Storm与Spark的区别 224
- 14.5Storm的适用场景 225
- 14.6Storm的应用 226
- 14.7小结 227
- 15 Dremel和Drill 228
- 15.1Dremel和Drill的历史背景 228
- 15.2Dremel的原理与应用 230
- 15.3Drill的架构与流程 232
- 15.4Dremel和Drill的适用场景与应用 234
- 15.5小结 234
- 第4篇大数据下的日志分析系统
- 16 日志分析解决方案 236
- 16.1百花齐放的日志处理技术 236
- 16.2日志处理方案ELK 238
- 16.2.1ELK的三大金刚 238
- 16.2.2ELK的架构 240
- 16.2.3ELK的组网形式 242
- 16.3Logstash日志收集解析 245
- 16.3.1Input Plugins及应用示例 246
- 16.3.2Filter Plugins及应用示例 248
- 16.3.3Output Plugins及应用示例 249
- 16.4ElasticSearch存储与搜索 250
- 16.4.1ElasticSearch的主要概念 251
- 16.4.2ElasticSearch Rest API 252
- 16.5Kibana展示 253
- 16.6小结 255
- 17 ELK集群部署与应用 256
- 17.1ELK集群部署与优化 256
- 17.1.1ELK HA集群部署 256
- 17.1.2ElasticSearch优化 257
- 17.2如何开发自己的插件 259
- 17.3ELK在大数据运维系统中的应用 261
- 17.4ELK实战应用 262
- 17.4.1ELK监控Spark集群 262
- 17.4.2ELK监控系统资源状态 263
- 17.4.3ELK辅助日志管理和故障排查 263
- 17.5小结 264
- 第5篇数据分析技术前景展望
- 18 大数据处理的思考与展望 266
- 18.1大数据时代的思考 266
- 18.2大数据处理技术的发展趋势 267
- 18.3小结 270