书籍详情

Spark内核设计的艺术:架构设计与实现

Spark内核设计的艺术:架构设计与实现

作者:耿嘉安

出版社:机械工业出版社

出版时间:2018-01-01

ISBN:9787111584391

定价:¥139.00

购买这本书可以去
内容简介
  全书分为10章。第1章介绍Spark学习环境的搭建。第2章介绍Spark的基本知识和架构。第3章介绍Spark内核底层的基础设施。第4章介绍SparkContext的初始化。第5章介绍Spark执行环境SparkEnv。第6章介绍Spark自身的存储体系。本章不同于其他书籍将存储的各个组件视为不同内容,而是将存储体系的内容凝聚起来。第7章介绍Spark的调度系统。第8章介绍Spark的计算引擎。第9章介绍Spark的部署模式。第10章介绍Spark的API。Spark从表面上看与之前版本大的不同是API,所以本章拿个别API的实现作为例子,分析其源码实现,让读者理解新老API之间的异同。
作者简介
  耿嘉安,艺龙大数据平台架构师,前阿里巴巴高级开发工程师,11年开发经验,对Spark有深入研究,精通大数据业务、Java架构设计,擅长J2EE,有9年Java相关开发经验,关注Spark、Storm、ODPS。
目录
目录 Contents
本书赞誉
前言
第1章 环境准备 1
1.1 运行环境准备 2
1.1.1 安装JDK 2
1.1.2 安装Scala 2
1.1.3 安装Spark 3
1.2 Spark初体验 4
1.2.1 运行spark-shell 4
1.2.2 执行word count 5
1.2.3 剖析spark-shell 9
1.3 阅读环境准备 14
1.3.1 安装SBT 15
1.3.2 安装Git 15
1.3.3 安装Eclipse Scala IDE插件 15
1.4 Spark源码编译与调试 17
1.5 小结 23
第2章 设计理念与基本架构 24
2.1 初识Spark 25
2.1.1 Hadoop MRv1的局限25
2.1.2 Spark的特点 26
2.1.3 Spark使用场景 28
2.2 Spark基础知识 29
2.3 Spark基本设计思想 31
2.3.1 Spark模块设计 32
2.3.2 Spark模型设计 34
2.4 Spark基本架构 36
2.5 小结 38
第3章 Spark基础设施 39
3.1 Spark配置 40
3.1.1 系统属性中的配置 40
3.1.2 使用SparkConf配置的API 41
3.1.3 克隆SparkConf配置 42
3.2 Spark内置RPC框架 42
3.2.1 RPC配置TransportConf 45
3.2.2 RPC客户端工厂Transport- ClientFactory 47
3.2.3 RPC服务端TransportServer 53
3.2.4 管道初始化 56
3.2.5 TransportChannelHandler详解 57
3.2.6 服务端RpcHandler详解 63
3.2.7 服务端引导程序Transport-ServerBootstrap 68
3.2.8 客户端TransportClient详解 71
3.3 事件总线 78
3.3.1 ListenerBus的继承体系 79
3.3.2 SparkListenerBus详解 80
3.3.3 LiveListenerBus详解 83
3.4 度量系统 87
3.4.1 Source继承体系 87
3.4.2 Sink继承体系 89
3.5 小结 92
第4章 SparkContext的初始化 93
4.1 SparkContext概述 94
4.2 创建Spark环境 97
4.3 SparkUI的实现 100
4.3.1 SparkUI概述 100
4.3.2 WebUI框架体系 102
4.3.3 创建SparkUI 107
4.4 创建心跳接收器 111
4.5 创建和启动调度系统112
4.6 初始化块管理器BlockManager 114
4.7 启动度量系统 114
4.8 创建事件日志监听器115
4.9 创建和启动ExecutorAllocation-Manager 116
4.10 ContextCleaner的创建与启动 120
4.10.1 创建ContextCleaner 120
4.10.2 启动ContextCleaner 120
4.11 额外的SparkListener与启动事件总线 122
4.12 Spark环境更新 123
4.13 SparkContext初始化的收尾 127
4.14 SparkContext提供的常用方法 128
4.15 SparkContext的伴生对象130
4.16 小结 131
第5章 Spark执行环境 132
5.1 SparkEnv概述 133
5.2 安全管理器SecurityManager 133
5.3 RPC环境 135
5.3.1 RPC端点RpcEndpoint 136
5.3.2 RPC端点引用RpcEndpointRef 139
5.3.3 创建传输上下文TransportConf 142
5.3.4 消息调度器Dispatcher 142
5.3.5 创建传输上下文Transport-Context 154
5.3.6 创建传输客户端工厂Transport-ClientFactory 159
5.3.7 创建TransportServer 160
5.3.8 客户端请求发送 162
5.3.9 NettyRpcEnv中的常用方法 173
5.4 序列化管理器SerializerManager 175
5.5 广播管理器BroadcastManager 178
5.6 map任务输出跟踪器 185
5.6.1 MapOutputTracker的实现 187
5.6.2 MapOutputTrackerMaster的实现原理 191
5.7 构建存储体系 199
5.8 创建度量系统 201
5.8.1 MetricsCon?g详解 203
5.8.2 MetricsSystem中的常用方法 207
5.8.3 启动MetricsSystem 209
5.9 输出提交协调器 211
5.9.1 OutputCommitCoordinator-Endpoint的实现 211
5.9.2 OutputCommitCoordinator的实现 212
5.9.3 OutputCommitCoordinator的工作原理 216
5.10 创建SparkEnv 217
5.11 小结 217
第6章 存储体系 219
6.1 存储体系概述 220
6.1.1 存储体系架构 220
6.1.2 基本概念 222
6.2 Block信息管理器 227
6.2.1 Block锁的基本概念 227
6.2.2 Block锁的实现 229
6.3 磁盘Block管理器 234
6.3.1 本地目录结构 234
6.3.2 DiskBlockManager提供的方法 236
6.4 磁盘存储DiskStore 239
6.5 内存管理器 242
6.5.1 内存池模型 243
6.5.2 StorageMemoryPool详解 244
6.5.3 MemoryManager模型 247
6.5.4 Uni?edMemoryManager详解 250
6.6 内存存储MemoryStore 252
6.6.1 MemoryStore的内存模型 253
6.6.2 MemoryStore提供的方法 255
6.7 块管理器BlockManager 265
6.7.1 BlockManager的初始化 265
6.7.2 BlockManager提供的方法 266
6.8 BlockManagerMaster对Block-Manager的管理 285
6.8.1 BlockManagerMaster的职责 285
6.8.2 BlockManagerMasterEndpoint详解 286
6.8.3 BlockManagerSlaveEndpoint详解 289
6.9 Block传输服务 290
6.9.1 初始化NettyBlockTransfer-Service 291
6.9.2 NettyBlockRpcServer详解 292
6.9.3 Shuf?e客户端 296
6.10 DiskBlockObjectWriter详解 305
6.11 小结 308
第7章 调度系统 309
7.1 调度系统概述 310
7.2 RDD详解 312
7.2.1 为什么需要RDD 312
7.2.2 RDD
猜您喜欢

读书导航