注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络网络与数据通信网络服务Kafka入门与实践

Kafka入门与实践

Kafka入门与实践

定 价:¥69.00

作 者: 牟大恩
出版社: 人民邮电出版社
丛编项:
标 签: 编程语言与程序设计 计算机?网络

ISBN: 9787115469571 出版时间: 2017-11-01 包装:
开本: 页数: 字数:  

内容简介

  《Kafka入门与实践》以Kafka 0.10.1.1版本以基础,对Kafka的基本组件的实现细节及其基本应用进行了详细介绍,同时,通过对Kafka与当前大数据主流框架整合应用案例的讲解,进一步展现了Kafka在实际业务中的作用和地位。本书共10章,按照从抽象到具体、从点到线再到面的学习思维模式,由浅入深,理论与实践相结合,对Kafka进行了分析讲解。《Kafka入门与实践》中的大量实例来源于作者在实际工作中的实践,具有现实指导意义。相信读者阅读完本书之后,能够全面掌握Kafka的基本实现原理及其基本操作,能够根据书中的案例举一反三,解决实际工作和学习中的问题。此外,在阅读本书时,读者可以根据本书对Kafka理论的分析,再结合Kafka源码进行定位学习,了解Kafka的设计和思想以及更多的编码技巧。《Kafka入门与实践》适合应用Kafka的专业技术人员阅读,包括但不限于大数据相关应用的开发者、运维者和爱好者,也适合高等院校、培训结构相关专业的师生使用。

作者简介

  牟大恩,武汉大学硕士,曾先后在网易杭州研究院、掌门科技、优酷土豆集团担任高级开发工程师和资深开发工程师职务,目前就职于海通证券总部。有多年的Java开发及系统设计经验,专注于互联网金融及大数据应用相关领域。

图书目录

第1章 Kafka简介 1

1.1 Kafka背景 1

1.2 Kafka基本结构 2

1.3 Kafka基本概念 2

1.4 Kafka设计概述 6

1.4.1 Kafka设计动机 6

1.4.2 Kafka特性 6

1.4.3 Kafka应用场景 8

1.5 本书导读 9

1.6 小结 9

第2章 Kafka安装配置 11

2.1 基础环境配置 11

2.1.1 JDK安装配置 11

2.1.2 SSH安装配置 13

2.1.3 ZooKeeper环境 15

2.2 Kafka单机环境部署 18

2.2.1 Windows环境安装Kafka 19

2.2.2 Linux环境安装Kafka 19

2.3 Kafka伪分布式环境部署 21

2.4 Kafka集群环境部署 22

2.5 Kafka Manager安装 22

2.6 Kafka源码编译 25

2.6.1 Scala安装配置 25

2.6.2 Gradle安装配置 26

2.6.3 Kafka源码编译 26

2.6.4 Kafka导入Eclipse 30

2.7 小结 31

第3章 Kafka核心组件 33

3.1 延迟操作组件 33

3.1.1 DelayedOperation 33

3.1.2 DelayedOperationPurgatory 35

3.1.3 DelayedProduce 36

3.1.4 DelayedFetch 38

3.1.5 DelayedJoin 38

3.1.6 DelayedHeartbeat 39

3.1.7 DelayedCreateTopics 40

3.2 控制器 40

3.2.1 控制器初始化 41

3.2.2 控制器选举过程 46

3.2.3 故障转移 48

3.2.4 代理上线与下线 49

3.2.5 主题管理 51

3.2.6 分区管理 54

3.3 协调器 58

3.3.1 消费者协调器 58

3.3.2 组协调器 60

3.4 网络通信服务 64

3.4.1 Acceptor 65

3.4.2 Processor 66

3.4.3 RequestChannel 68

3.4.4 SocketServer启动过程 69

3.5 日志管理器 70

3.5.1 Kafka日志结构 70

3.5.2 日志管理器启动过程 77

3.5.3 日志加载及恢复 79

3.5.4 日志清理 80

3.6 副本管理器 84

3.6.1 分区 86

3.6.2 副本 88

3.6.3 副本管理器启动过程 89

3.6.4 副本过期检查 90

3.6.5 追加消息 92

3.6.6 拉取消息 95

3.6.7 副本同步过程 97

3.6.8 副本角色转换 99

3.6.9 关闭副本 101

3.7 Handler 103

3.8 动态配置管理器 104

3.9 代理健康检测 106

3.10 Kafka内部监控 107

3.11 小结 110

第4章 Kafka核心流程分析 111

4.1 KafkaServer启动流程分析 111

4.2 创建主题流程分析 115

4.2.1 客户端创建主题 115

4.2.2 分区副本分配 117

4.3 生产者 121

4.3.1 Eclipse运行生产者源码 121

4.3.2 生产者重要配置说明 123

4.3.3 OldProducer执行流程 124

4.3.4 KafkaProducer实现原理 127

4.4 消费者 140

4.4.1 旧版消费者 140

4.4.2 KafkaConsumer初始化 140

4.4.3 消费订阅 144

4.4.4 消费消息 145

4.4.5 消费偏移量提交 149

4.4.6 心跳探测 150

4.4.7 分区数与消费者线程的关系 151

4.4.8 消费者平衡过程 153

4.5 小结 154

第5章 Kafka基本操作实战 155

5.1 KafkaServer管理 155

5.1.1 启动Kafka单个节点 155

5.1.2 启动Kafka集群 159

5.1.3 关闭Kafka单个节点 160

5.1.4 关闭Kafka集群 161

5.2 主题管理 162

5.2.1 创建主题 162

5.2.2 删除主题 164

5.2.3 查看主题 165

5.2.4 修改主题 166

5.3 生产者基本操作 168

5.3.1 启动生产者 168

5.3.2 创建主题 169

5.3.3 查看消息 170

5.3.4 生产者性能测试工具 170

5.4 消费者基本操作 174

5.4.1 消费消息 174

5.4.2 单播与多播 179

5.4.3 查看消费偏移量 181

5.4.4 消费者性能测试工具 183

5.5 配置管理 183

5.5.1 主题级别配置 184

5.5.2 代理级别设置 185

5.5.3 客户端/用户级别配置 187

5.6 分区操作 188

5.6.1 分区Leader平衡 188

5.6.2 分区迁移 190

5.6.3 增加分区 194

5.6.4 增加副本 195

5.7 连接器基本操作 198

5.7.1 独立模式 198

5.7.2 REST风格API应用 201

5.7.3 分布式模式 204

5.8 Kafka Manager应用 209

5.9 Kafka安全机制 211

5.9.1 利用SASL/PLAIN进行身份认证 212

5.9.2 权限控制 215

5.10 镜像操作 218

5.11 小结 219

第6章 Kafka API编程实战 221

6.1 主题管理 222

6.1.1 创建主题 222

6.1.2 修改主题级别配置 223

6.1.3 增加分区 224

6.1.4 分区副本重分配 224

6.1.5 删除主题 225

6.2 生产者API应用 225

6.2.1 单线程生产者 226

6.2.2 多线程生产者 231

6.3 消费者API应用 233

6.3.1 旧版消费者API应用 233

6.3.2 新版消费者API应用 239

6.4 自定义组件实现 247

6.4.1 分区器 247

6.4.2 序列化与反序列化 249

6.5 Spring与Kafka整合应用 257

6.5.1 生产者 259

6.5.2 消费者 263

6.6 小结 266

第7章 Kafka Streams 267

7.1 Kafka Streams简介 267

7.2 Kafka Streams基本概念 268

7.2.1 流 268

7.2.2 流处理器 268

7.2.3 处理器拓扑 268

7.2.4 时间 269

7.2.5 状态 270

7.2.6 KStream和KTable 270

7.2.7 窗口 271

7.3 Kafka Streams API介绍 272

7.3.1 KStream与KTable 272

7.3.2 窗口操作 274

7.3.3 连接操作 275

7.3.4 变换操作 277

7.3.5 聚合操作 279

7.4 接口恶意访问自动检测 281

7.4.1 应用描述 281

7.4.2 具体实现 282

7.5 小结 285

第8章 Kafka数据采集应用 287

8.1 Log4j集成Kafka应用 287

8.1.1 应用描述 287

8.1.2 具体实现 287

8.2 Kafka与Flume整合应用 289

8.2.1 Flume简介 290

8.2.2 Flume与Kafka比较 291

8.2.3 Flume的安装配置 291

8.2.4 Flume采集日志写入Kafka 293

8.3 Kafka与Flume和HDFS整合应用 294

8.3.1 Hadoop安装配置 295

8.3.2 Flume采集Kafka消息写入HDFS 298

8.4 小结 301

第9章 Kafka与ELK整合应用 303

9.1 ELK环境搭建 304

9.1.1 Elasticsearch安装配置 304

9.1.2 Logstash安装配置 307

9.1.3 Kibana安装配置 308

9.2 Kafka与Logstash整合 309

9.2.1 Logstash收集日志到Kafka 309

9.2.2 Logstash从Kafka消费日志 310

9.3 日志采集分析系统 312

9.3.1 Flume采集日志配置 312

9.3.2 Logstash拉取日志配置 313

9.3.3 Kibana日志展示 314

9.4 服务器性能监控系统 315

9.4.1 Metricbeat安装 316

9.4.2 采集信息存储到Elasticsearch 316

9.4.3 加载beats-dashboards 318

9.4.4 服务器性能监控系统具体实现 318

9.5 小结 321

第10章 Kafka与Spark整合应用 323

10.1 Spark简介 323

10.2 Spark基本操作 324

10.2.1 Spark安装 325

10.2.2 Spark shell应用 326

10.2.3 spark-submit提交作业 327

10.3 Spark在智能投顾领域应用 328

10.3.1 应用描述 328

10.3.2 具体实现 329

10.4 热搜词统计 334

10.4.1 应用描述 334

10.4.2 具体实现 335

10.5 小结 340


本目录推荐