定 價:¥69.00
作 者: | 牟大恩 |
出版社: | 人民郵電出版社 |
叢編項: | |
標(biāo) 簽: | 編程語言與程序設(shè)計 計算機?網(wǎng)絡(luò) |
ISBN: | 9787115469571 | 出版時間: | 2017-11-01 | 包裝: | |
開本: | 頁數(shù): | 字?jǐn)?shù): |
第1章 Kafka簡介 1
1.1 Kafka背景 1
1.2 Kafka基本結(jié)構(gòu) 2
1.3 Kafka基本概念 2
1.4 Kafka設(shè)計概述 6
1.4.1 Kafka設(shè)計動機 6
1.4.2 Kafka特性 6
1.4.3 Kafka應(yīng)用場景 8
1.5 本書導(dǎo)讀 9
1.6 小結(jié) 9
第2章 Kafka安裝配置 11
2.1 基礎(chǔ)環(huán)境配置 11
2.1.1 JDK安裝配置 11
2.1.2 SSH安裝配置 13
2.1.3 ZooKeeper環(huán)境 15
2.2 Kafka單機環(huán)境部署 18
2.2.1 Windows環(huán)境安裝Kafka 19
2.2.2 Linux環(huán)境安裝Kafka 19
2.3 Kafka偽分布式環(huán)境部署 21
2.4 Kafka集群環(huán)境部署 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導(dǎo)入Eclipse 30
2.7 小結(jié) 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 故障轉(zhuǎn)移 48
3.2.4 代理上線與下線 49
3.2.5 主題管理 51
3.2.6 分區(qū)管理 54
3.3 協(xié)調(diào)器 58
3.3.1 消費者協(xié)調(diào)器 58
3.3.2 組協(xié)調(diào)器 60
3.4 網(wǎng)絡(luò)通信服務(wù) 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日志結(jié)構(gòu) 70
3.5.2 日志管理器啟動過程 77
3.5.3 日志加載及恢復(fù) 79
3.5.4 日志清理 80
3.6 副本管理器 84
3.6.1 分區(qū) 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 副本角色轉(zhuǎn)換 99
3.6.9 關(guān)閉副本 101
3.7 Handler 103
3.8 動態(tài)配置管理器 104
3.9 代理健康檢測 106
3.10 Kafka內(nèi)部監(jiān)控 107
3.11 小結(jié) 110
第4章 Kafka核心流程分析 111
4.1 KafkaServer啟動流程分析 111
4.2 創(chuàng)建主題流程分析 115
4.2.1 客戶端創(chuàng)建主題 115
4.2.2 分區(qū)副本分配 117
4.3 生產(chǎn)者 121
4.3.1 Eclipse運行生產(chǎn)者源碼 121
4.3.2 生產(chǎn)者重要配置說明 123
4.3.3 OldProducer執(zhí)行流程 124
4.3.4 KafkaProducer實現(xiàn)原理 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 分區(qū)數(shù)與消費者線程的關(guān)系 151
4.4.8 消費者平衡過程 153
4.5 小結(jié) 154
第5章 Kafka基本操作實戰(zhàn) 155
5.1 KafkaServer管理 155
5.1.1 啟動Kafka單個節(jié)點 155
5.1.2 啟動Kafka集群 159
5.1.3 關(guān)閉Kafka單個節(jié)點 160
5.1.4 關(guān)閉Kafka集群 161
5.2 主題管理 162
5.2.1 創(chuàng)建主題 162
5.2.2 刪除主題 164
5.2.3 查看主題 165
5.2.4 修改主題 166
5.3 生產(chǎn)者基本操作 168
5.3.1 啟動生產(chǎn)者 168
5.3.2 創(chuàng)建主題 169
5.3.3 查看消息 170
5.3.4 生產(chǎn)者性能測試工具 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 代理級別設(shè)置 185
5.5.3 客戶端/用戶級別配置 187
5.6 分區(qū)操作 188
5.6.1 分區(qū)Leader平衡 188
5.6.2 分區(qū)遷移 190
5.6.3 增加分區(qū) 194
5.6.4 增加副本 195
5.7 連接器基本操作 198
5.7.1 獨立模式 198
5.7.2 REST風(fēng)格API應(yīng)用 201
5.7.3 分布式模式 204
5.8 Kafka Manager應(yīng)用 209
5.9 Kafka安全機制 211
5.9.1 利用SASL/PLAIN進(jìn)行身份認(rèn)證 212
5.9.2 權(quán)限控制 215
5.10 鏡像操作 218
5.11 小結(jié) 219
第6章 Kafka API編程實戰(zhàn) 221
6.1 主題管理 222
6.1.1 創(chuàng)建主題 222
6.1.2 修改主題級別配置 223
6.1.3 增加分區(qū) 224
6.1.4 分區(qū)副本重分配 224
6.1.5 刪除主題 225
6.2 生產(chǎn)者API應(yīng)用 225
6.2.1 單線程生產(chǎn)者 226
6.2.2 多線程生產(chǎn)者 231
6.3 消費者API應(yīng)用 233
6.3.1 舊版消費者API應(yīng)用 233
6.3.2 新版消費者API應(yīng)用 239
6.4 自定義組件實現(xiàn) 247
6.4.1 分區(qū)器 247
6.4.2 序列化與反序列化 249
6.5 Spring與Kafka整合應(yīng)用 257
6.5.1 生產(chǎn)者 259
6.5.2 消費者 263
6.6 小結(jié) 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 處理器拓?fù)?nbsp;268
7.2.4 時間 269
7.2.5 狀態(tài) 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 應(yīng)用描述 281
7.4.2 具體實現(xiàn) 282
7.5 小結(jié) 285
第8章 Kafka數(shù)據(jù)采集應(yīng)用 287
8.1 Log4j集成Kafka應(yīng)用 287
8.1.1 應(yīng)用描述 287
8.1.2 具體實現(xiàn) 287
8.2 Kafka與Flume整合應(yīng)用 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整合應(yīng)用 294
8.3.1 Hadoop安裝配置 295
8.3.2 Flume采集Kafka消息寫入HDFS 298
8.4 小結(jié) 301
第9章 Kafka與ELK整合應(yīng)用 303
9.1 ELK環(huán)境搭建 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 日志采集分析系統(tǒng) 312
9.3.1 Flume采集日志配置 312
9.3.2 Logstash拉取日志配置 313
9.3.3 Kibana日志展示 314
9.4 服務(wù)器性能監(jiān)控系統(tǒng) 315
9.4.1 Metricbeat安裝 316
9.4.2 采集信息存儲到Elasticsearch 316
9.4.3 加載beats-dashboards 318
9.4.4 服務(wù)器性能監(jiān)控系統(tǒng)具體實現(xiàn) 318
9.5 小結(jié) 321
第10章 Kafka與Spark整合應(yīng)用 323
10.1 Spark簡介 323
10.2 Spark基本操作 324
10.2.1 Spark安裝 325
10.2.2 Spark shell應(yīng)用 326
10.2.3 spark-submit提交作業(yè) 327
10.3 Spark在智能投顧領(lǐng)域應(yīng)用 328
10.3.1 應(yīng)用描述 328
10.3.2 具體實現(xiàn) 329
10.4 熱搜詞統(tǒng)計 334
10.4.1 應(yīng)用描述 334
10.4.2 具體實現(xiàn) 335
10.5 小結(jié) 340