失效链接处理 |
Kafka并不难学!入门、进阶、商业实战 PDF 下载 转载自:https://download.csdn.net/download/hahar226/10837513 本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍: http://product.dangdang.com/25580334.html 图书简介: 本书基于Kafka 0.10.2.0以上版本,采用“理论 实践”的形式编写。全书共68个实例。 全书共分为4篇: 第1篇,介绍了消息队列和Kafka、安装与配置Kafka环境; 第2篇,介绍了Kafka的基础操作、生产者和消费者、存储及管理数据; 第3篇,介绍了更高级的Kafka知识及应用,包括安全机制、连接器、流处理、监控与测试; 第4篇,是对前面知识的综合及实际应用,包括ELK套件整合实战、Spark实时计算引擎整合实战、Kafka Eagle监控系统设计与实现实战。 本书的每章都配有同步教学视频。视频和图书具有相同的结构,能帮助读者快速而全面地了解每章的内容。 本书还免费提供所有案例的源代码。这些代码不仅能方便读者学习,也能为以后的工作提供便利。 相关截图: 图书目录:
——第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篇 入门 第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篇 进阶 第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篇 商业实战 第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 |