img
share 分享

Apache Kafka源码剖析

作者:徐郡明

出版社:电子工业出版社

ISBN:9787121313455

VIP会员免费 (仅需0.8元/天) ¥ 35.6

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

Kafka并不难学!入门、进阶、商业实战.邓杰(带详细书签).pdf 评分:

本书基于Kafka 0.10.2.0以上版本,采用“理论+实践”的形式编写。全书共68个实例。全书共分为4篇:第1篇,介绍了消息队列和Kafka、安装与配置Kafka环境;第2篇,介绍了Kafka的基础操作、生产者和消费者、存储及管理数据;第3篇,介绍了更高级的Kafka知识及应用,包括安全机制、连接器、流处理、监控与测试;第4篇,是对前面知识的综合及实际应用,包括ELK套件整合实战、Spark实时计算引擎整合实战、Kafka Eagle监控系统设计与实现实战。本书的每章都配有同步教学视频。视频和图书具有相同的结构,能帮助读者快速而全面地了解每章的内容。本书还免费提供所有案例的源代码。这些代码不仅能方便读者学习,也能为以后的工作提供便利。本书结构清晰、案例丰富、通俗易懂、实用性强。特别适合Kafka系统的初学者和进阶读者作为自学教程。另外,本书也适合社会培训学校作为培训教材,还适合大中专院校的相关专业作为教学参考书。 第1篇 准备 1 第1章 了解消息队列和Kafka 2 1.1 本章教学视频说明 2 1.2 消息队列 2 1.2.1 什么是消息队列 3 1.2.2 消息队列主要有哪些作用 3 1.3 为什么需要Kafka 6 1.4 Kafka的基本概念 7 1.4.1 代理、生产者、消费者、消费者组 7 1.4.2 主题、分区、副本、记录 8 1.5 了解Kafka的工作机制——生产消息/消费消息 9 1.6 Kafka的使用范围 10 1.6.1 Kafka的设计初衷 10 1.6.2 Kafka的特性 11 1.6.3 Kafka适用于哪些场景 13 1.7 小结 14 第2章 安装及配置Kafka 15 2.1 本章教学视频说明 15 2.2 安装与配置基础环境 16 2.2.1 安装并配置Linux操作系统 16 2.2.2 实例1:安装与配置Java运行环境 18 2.2.3 实例2:配置SSH免密码登录 21 2.2.4 实例3:安装与配置Zookeeper 23 2.3 实例4:部署Kafka 27 2.3.1 单机模式部署 27 2.3.2 分布式模式部署 29 2.4 实例5:安装与配置Kafka监控工具 32 2.4.1 获取并编译Kafka Eagle源代码 32 2.4.2 安装与配置Kafka Eagle 33 2.5 实例6:编译Kafka源代码 37 2.5.1 安装与配置Scala运行环境 38 2.5.2 安装与配置Gradle 39 2.5.3 了解Kafka源代码的编译过程 40 2.6 实例7:将Kafka源代码导入编辑器 42 2.6.1 导入IntelliJ IDEA编辑器 42 2.6.2 导入Eclipse编辑器 44 2.7 了解元数据的存储分布 46 2.8 了解控制器的选举流程 48 2.8.1 了解控制器的启动顺序 48 2.8.2 了解主题分区Leader节点的选举过程 52 2.8.3 了解注册分区和副本状态机 59 2.8.4 了解分区自动均衡和分区重新分配 61 2.9 小结 66 第2篇 入门 67 第3章 Kafka的基本操作 68 3.1 本章教学视频说明 68 3.2 操作Zookeeper集群 68 3.2.1 Zookeeper的作用及背景 69 3.2.2 实例8:单机模式启动Zookeeper系统 70 3.2.3 实例9:单机模式关闭Zookeeper系统 72 3.2.4 实例10:分布式模式启动Zookeeper集群 74 3.2.5 实例11:分布式模式关闭Zookeeper集群 77 3.3 操作Kafka集群 77 3.3.1 实例12:单机模式启动Kafka系统 78 3.3.2 实例13:单机模式关闭Kafka系统 79 3.3.3 实例14:分布式模式启动Kafka集群 81 3.3.4 实例15:分布式模式关闭Kafka集群 84 3.4 管理主题 85 3.4.1 什么是主题 86 3.4.2 实例16:创建主题 87 3.4.3 实例17:查看主题 88 3.4.4 实例18:修改主题 92 3.4.5 实例19:删除主题 94 3.5 管理分区与副本 95 3.5.1 分区和副本的背景及作用 95 3.5.2 实例20:修改分区 96 3.5.3 实例21:修改副本数 97 3.6 小结 99 第4章 将消息数据写入Kafka系统——生产 100 4.1 本章教学视频说明 100 4.2 了解Kafka生产者 101 4.3 使用脚本操作生产者 101 4.3.1 实例22:通过监控工具查看消息 102 4.3.2 实例23:启动消费者程序,并查看消息 103 4.4 发送消息到Kafka主题 104 4.4.1 了解异步模式 104 4.4.2 实例24:生产者用异步模式发送消息 105 4.4.3 了解同步模式 105 4.4.4 实例25:生产者用同步模式发送消息 106 4.4.5 多线程发送消息 107 4.4.6 实例26:生产者用单线程发送消息 107 4.4.7 实例27:生产者用多线程发送消息 110 4.5 配置生产者的属性 112 4.6 保存对象的各个属性——序列化 115 4.6.1 实例28:序列化一个对象 115 4.6.2 实例29:在生产者应用程序中实现序列化 117 4.7 自定义主题分区 122 4.7.1 实例30:编写自定义主题分区的算法 122 4.7.2 实例31:演示自定义分区类的使用 123 4.8 小结 125 第5章 从Kafka系统中读取消息数据——消费 126 5.1 本章教学视频说明 126 5.2 了解Kafka消费者 126 5.2.1 为什么需要消费者组 126 5.2.1 消费者和消费者组的区别 127 5.2.2 消费者和分区的对应关系 127 5.3 使用Kafka系统的脚本操作消费者 130 5.3.1 认识消费者新接口 130 5.3.2 实例32:用新接口启动消费者程序,并查看消费者信息 131 5.3.3 实例33:用旧接口启动消费者程序,并查看消费者元数据的存储结构 134 5.4 消费Kafka集群中的主题消息 136 5.4.1 主题如何自动获取分区和手动分配分区 137 5.4.2 实例34:主题自动/手动获取分区 137 5.4.3 实例35:反序列化主题消息 140 5.4.4 如何提交消息的偏移量 145 5.4.5 实例36:使用多线程消费多个分区的主题 146 5.5 配置消费者的属性 150 5.6 小结 151 第6章 存储及管理数据 152 6.1 本章教学视频说明 152 6.2 分区存储数据 152 6.2.1 熟悉分区存储 153 6.2.2 了解消息的格式 154 6.3 清理过期数据的两种方法 155 6.4 网络模型和通信流程 156 6.4.1 基本数据类型 156 6.4.2 通信模型 157 6.4.3 通信过程 157 6.6 小结 159 第3篇 进阶 161 第7章 Kafka安全机制 162 7.1 本章教学视频说明 162 7.2 了解Kafka的安全机制 162 7.2.1 身份验证 163 7.2.2 权限控制 163 7.3 使用SSL协议进行加密和身份验证 164 7.3.1 了解SSL协议 164 7.3.2 实例37:创建SSL密钥库,并查看密钥库文件 165 7.3.3 实例38:创建私有证书 167 7.3.4 实例39:导出证书,使用CA对证书进行签名 170 7.3.5 实例40:在服务端配置SSL协议,并创建主题 173 7.3.6 实例41:在客户端配置SSL协议,并读/写数据 174 7.4 使用SASL协议进行认证 176 7.4.1 给客户端配置“Java认证和授权服务”(JAAS) 176 7.4.2 给服务端配置SASL 178 7.4.3 实例42:开启SASL/Kerberos认证协议 178 7.4.4 实例43:开启SASL/PLAIN认证协议 181 7.4.5 实例44:开启SASL/SCRAM认证协议 184 7.5 权限控制 187 7.5.1 权限控制的基础命令 187 7.5.2 配置ACL(访问控制列表) 188 7.5.3 实例45:启动集群 189 7.5.4 实例46:查看授权、添加授权、删除授权 190 7.6 小结 195 第8章 用Kafka连接器建立数据管道 196 8.1 本章教学视频说明 196 8.2 认识Kafka连接器 196 8.2.1 了解连接器的使用场景 197 8.2.2 特性及优势 198 8.3 操作Kafka连接器 199 8.3.1 配置Kafka连接器的属性 199 8.3.2 认识应用接口——REST API 202 8.3.3 实例47:单机模式下,将数据导入Kafka主题中 203 8.3.4 实例48:单机模式下,将Kafka主题中的数据导出 205 8.3.5 实例49:分布式模式下,将数据导入Kafka主题 206 8.4 实例50:开发一个简易的Kafka连接器插件 210 8.4.1 编写Source连接器 211 8.4.2 编写Sink连接器 217 8.4.3 打包与部署 220 8.5 小结 225 第9章 Kafka流处理 226 9.1 本章教学视频说明 226 9.2 初识Kafka流处理 227 9.2.1 什么是流处理 227 9.2.2 什么是流式计算 227 9.2.3 为何要使用流处理 228 9.3 了解流处理的架构 229 9.3.1 流分区与任务 230 9.3.2 线程模型 232 9.3.3 本地状态存储 234 9.3.4 容错性(Failover) 235 9.4 操作KStream和KTable 235 9.4.1 流处理的核心概念 236 9.4.2 窗口操作 237 9.4.3 连接操作 241 9.4.4 转换操作 246 9.4.5 聚合操作 247 9.5 实例51:利用流处理开发一个单词统计程序 248 9.5.1 创建Kafka流主题 248 9.5.2 统计流主题中单词出现的频率 249 9.5.3 预览操作结果 250 9.6 实例52:利用Kafka流开发一个SQL引擎 251 9.6.1 构建生产流数据源 251 9.6.2 构建Kafka流处理 253 9.6.3 构建数据结构和执行SQL逻辑 254 9.6.4 观察操作结果 255 9.7 小结 256 第10章 监控与测试 257 10.1 本章教学视频说明 257 10.2 Kafka的监控工具——Kafka Eagle系统 258 10.2.1 实例53:管理主题 258 10.2.2 实例54:查看消费者组信息 259 10.2.3 实例55:查看Kafka与Zookeeper集群的状态和性能 263 10.3 测试生产者性能 264 10.3.1 了解测试环境 264 10.3.2 认识测试工具 265 10.3.3 实例56:利用工具测试生产者性能 266 10.4 测试消费者性能 275 10.4.1 了解测试环境 275 10.4.2 认识测试工具 276 10.4.3 实例57:利用脚本测试消费者的性能 276 10.4 小结 280 第4篇 商业实战 281 第11章 Kafka与ELK套件的整合 282 11.1 本章教学视频说明 282 11.2 安装与配置ELK 283 11.2.1 安装与配置LogStash 283 11.2.2 实例58:LogStash的标准输入与输出 285 11.2.3 安装与配置ElasticSearch 287 11.2.4 实例59:使用ElasticSearch集群的HTTP接口创建索引 292 11.2.5 实例60:使用ElasticSearch集群的HTTP接口查看索引 293 11.2.6 实例61:使用ElasticSearch集群的HTTP接口添加数据 294 11.2.7 安装与配置Kibana 296 11.2.8 实例62:启动并验证Kibana系统 298 11.3 实例63:实现一个游戏日志实时分析系统 299 11.3.1 了解系统要实现的功能 300 11.3.2 了解平台体系架构 300 11.3.3 采集数据 302 11.3.4 分流数据 304 11.3.5 实现数据可视化 306 11.4 小结 308 第12章 Kafka与Spark实时计算引擎的整合 309 12.1 本章教学视频说明 309 12.2 介绍Spark背景 310 12.2.1 Spark SQL——Spark处理结构化数据的模块 310 12.2.2 Spark Streaming——Spark核心应用接口的一种扩展 311 12.2.3 MLlib——Spark的一个机器学习类库 311 12.2.4 GraphX——Spark的一个图计算框架 311 12.3 准备Spark环境 311 12.3.1 下载Spark基础安装包 311 12.3.2 安装与配置Spark集群 312 12.4 操作Spark 315 12.4.1 实例64:使用Spark Shell统计单词出现的频率 315 12.4.2 实例65:使用Spark SQL对单词权重进行降序输出 317 12.4.3 实例66:使用Spark Submit统计单词出现的频率 319 12.5 实例67:对游戏明细数据做实时统计 322 12.5.1 了解项目背景和价值 323 12.5.2 设计项目实现架构 323 12.5.3 编码步骤一 实现数据采集 325 12.5.4 编码步骤二 实现流计算 327 12.5.5 编码步骤三 打包应用程序 330 12.5.6 编码步骤四 创建表结构 332 12.5.7 编码步骤五 执行应用程序 332 12.5.8 编码步骤六 预览结果 333 12.6 小结 333 第13章 实例68:从零开始设计一个Kafka监控系统——Kafka Eagle 334 13.1 本章教学视频说明 334 13.2 了解Kafka Eagle监控系统 335 13.2.1 设计的背景 335 13.2.2 应用场景 336 13.3 从结构上了解Kafka Eagle 337 13.3.1 了解Kafka Eagle的整体架构和代码结构 337 13.3.2 设计Kafka Eagle的7大功能模块 339 13.4 实现Kafka Eagle的功能模块 347 13.4.1 编码步骤一 实现数据面板 347 13.4.2 编码步骤二 实现主题管理 348 13.4.3 编码步骤三 实现消费者实例详情 350 13.4.4 编码步骤四 实现集群监控 350 13.4.5 编码步骤五 实现性能监控 351 13.4.6 编码步骤六 实现告警功能 351 13.4.7 编码步骤七 实现系统功能 352 13.5 安装及使用Kafka Eagle监控系统 353 13.5.1 准备环境 353 13.5.2 快速部署 354 13.5.3 了解Kafka Eagle的基础命令 358 13.6 小结 358

...展开详情
上传时间:2019-03 大小:78.79MB
热门图书