3dwoo大學簡體電腦書店
Kafka并不難學!入門、進階、商業實戰
( 簡體 字)
作者:鄧杰類別:1. -> 程式設計 -> Kafka
出版社:電子工業出版社Kafka并不難學!入門、進階、商業實戰 3dWoo書號: 50206
詢問書籍請說出此書號!
有庫存
NT售價: 445
出版日:11/1/2018
頁數:368
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121352478 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
——第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
本書基于Kafka 0.10.2.0以上版本,采用“理論+實踐”的形式編寫。全書共68個實例。全書共分為4篇:第1篇,介紹了消息隊列和Kafka、安裝與配置Kafka環境;第2篇,介紹了Kafka的基礎操作、生產者和消費者、存儲及管理數據;第3篇,介紹了更高級的Kafka知識及應用,包括安全機制、連接器、流處理、監控與測試;第4篇,是對前面知識的綜合及實際應用,包括ELK套件整合實戰、Spark實時計算引擎整合實戰、Kafka Eagle監控系統設計與實現實戰。本書的每章都配有同步教學視頻。視頻和圖書具有相同的結構,能幫助讀者快速而全面地了解每章的內容。本書還免費提供所有案例的源代碼。這些代碼不僅能方便讀者學習,也能為以后的工作提供便利。本書結構清晰、案例豐富、通俗易懂、實用性強。特別適合Kafka系統的初學者和進階讀者作為自學教程。另外,本書也適合社會培訓學校作為培訓教材,還適合大中專院校的相關專業作為教學參考書。


關注公眾號“哥不是小蘿莉”,回復“KAFKA”,可以獲取教學視頻不、實例素材、實例源文件。
-
本書使用通俗易懂的語言進行講解,從基礎操作到集群管理,再到Kafka底層設計等內容均有涉及。本書具有以下特點。
1.免費提供155分鐘教學視頻
作者按照圖書的內容和結構,錄制了同步對應的教學視頻。既有上課式講解,又有具體的代碼操作。
2.可加入本書QQ學習群提問、交流
加入本群可與千人成為同學,共享資源。
3.通過68個實例進行講解
本書提供了68個實例,將理論講解最終都落實到代碼實現上來。而且,這些實例會伴隨著圖書內容的推進,不斷地趨近于工程化的項目風格,具有很高的應用價值。
4.免費提供實例素材
書中實例用到的素材都已經提供。讀者可以采用這些素材完全再現書中的實例效果。
5.免費提供實例的源文件
在網上已經提供了書中實例的源文件。讀者可以一邊閱讀本書,一邊參照源文件動手練習。這樣不僅能提高學習的效率,還能對書中的知識有更加直觀的認識,從而逐漸培養自己的編碼能力。
6.覆蓋的知識面廣
本書幾乎囊括了Kafka 0.10.2.0版本中的全部功能。讀者在系統學習之后,本書還有查閱的價值。讀者可以把本書當成一本Kafka工具書長期保留在身邊。無論何時何地,只要遇到生僻操作,都可以及時找到說明。
7.采用短段、短句,便于流暢閱讀
本書采用豐富的層次,并采用短小的段落和語句,所以,讀來有順水行舟的輕快感。
8.實例的商業性、應用性強
本書提供的實例多數來源于真正的商業項目,具有高度的參考價值。有些代碼甚至可以直接移植到實際的項目中,進行重復使用。使得“從學到用”這個過程變得更加直接。
pagetop