《Kafka入门与实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:牟大恩著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115469571
  • 页数:342 页
图书介绍:本书先从Kafka基础切入,由浅入深对Kafka技术内幕进行深入剖析,由点到线再到面的思路对Kafka核心进行分析,接着详细讲解Kafka基本操作,基本操作也是由简单到复杂,先介绍如何应用Kafka自带工具进行相关操作,然后通过编码实现详细介绍Kafka主要Api接口实现。最后结合应用实例来搭建Kafka相关应用。

第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 RequestChnannel 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