Kafka並不難學!入門、進階、商業實戰(簡體書)
商品簡介
作者簡介
資深大數據全棧開發者,極客學院講師,開源愛好者,博客園博主。
開發了Kafka系統監控管理工具――Kafka Eagle,將其發佈在Github上,深受業界開發者讚譽。
作為極客學院特邀講師期間,製作了多個技術視頻,講授Hadoop技術、Kafka技術等課程,廣受學員好評。
技術博客:http://www.cnblogs.com/smartloli
Kafka Eagle:https://github.com/smartloli/kafka-eagle
序
-
本書使用通俗易懂的語言進行講解,從基礎操作到集群管理,再到Kafka底層設計等內容均有涉及。本書具有以下特點。
1.免費提供155分鐘教學視頻
作者按照圖書的內容和結構,錄製了同步對應的教學視頻。既有上課式講解,又有具體的代碼操作。
2.可加入本書QQ學習群提問、交流
本書QQ學習群:825943084。加入本群可與千人成為同學,共享資源。
3.通過68個實例進行講解
本書提供了68個實例,將理論講解最終都落實到代碼實現上來。而且,這些實例會伴隨著圖書內容的推進,不斷地趨近於工程化的項目風格,具有很高的應用價值。
4.免費提供實例素材
書中實例用到的素材都已經提供。讀者可以採用這些素材完全再現書中的實例效果。
5.免費提供實例的源文件
在網上已經提供了書中實例的源文件。讀者可以一邊閱讀本書,一邊參照源文件動手練習。這樣不僅能提高學習的效率,還能對書中的知識有更加直觀的認識,從而逐漸培養自己的編碼能力。
6.覆蓋的知識面廣
本書幾乎囊括了Kafka 0.10.2.0版本中的全部功能。讀者在系統學習之後,本書還有查閱的價值。讀者可以把本書當成一本Kafka工具書長期保留在身邊。無論何時何地,只要遇到生僻操作,都可以及時找到說明。
7.採用短段、短句,便於流暢閱讀
本書採用豐富的層次,並採用短小的段落和語句,所以,讀來有順水行舟的輕快感。
8.實例的商業性、應用性強
本書提供的實例多數來源於真正的商業項目,具有高度的參考價值。有些代碼甚至可以直接移植到實際的項目中,進行重複使用。使得“從學到用”這個過程變得更加直接。
目次
第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:利用
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。