基本介紹
- 中文名:構建Apache Kafka流數據套用
- 作者:[印]曼尼施·庫馬爾、尚沙勒·辛格
- 出版社:清華大學出版社
- 出版時間:2018年9月
- 定價:79 元
- ISBN:9787302509363
內容簡介,圖書目錄,
內容簡介
Apache Kafka是一個流行的分散式流平台,充當訊息佇列或企業訊息傳遞系統。它用來發布和訂閱數據流,並在發生錯誤時以容錯方式處理它們。
本書共13章,全面介紹使用Apache Kafka等大數據工具設計和構建企業級流套用方面的內容,包括構建流應用程式的最佳實踐,並解決了一些常見的挑戰,例如如何高效地使用Kafka輕鬆處理高容量數據。完成本書的學習後,讀者能使用Kafka設計高效的流數據應用程式。
本書既適合Kafka初學者、大數據套用開發人員、大數據套用運維人員閱讀,也適合高等院校與培訓學校相關專業的師生教學參考。
圖書目錄
其他生產者配置 40
Java程式語言:Kafka生產者示例 42
常見的訊息發布模式 44
最佳實踐 46
總 結 48
第4章 深入研究Kafka消費者 49
Kafka消費者內部機制 50
理解Kafka消費者的職責 50
Kafka消費者API 52
消費者配置 52
訂閱和輪詢 54
提交和輪詢 56
其他配置 59
利用Java實現Kafka消費者 60
利用Scala實現Kafka消費者 62
Rebalance listeners 64
常用的訊息消費模式 64
最佳實踐 67
總 結 68
第5章 集成Kafka 構建Spark Streaming套用 69
Spark介紹 70
Spark架構 70
Spark的核心 72
Spark生態系統 73
Spark Streaming 75
Receiver-based集成 75
Receiver-based approach的缺點 77
Receiver-based集成的Java示例 77
Receiver-based集成的Scala示例 79
Direct approach 80
Direct approach的Java示例 82
Direct approach的Scala示例 83
日誌處理用例—欺詐IP檢測 84
Maven 85
生產者 89
Reader屬性 89
生產者代碼 90
欺詐IP查找 92
暴露Hive表 93
Streaming代碼 94
總 結 97
第6章 集成Kafka構建Storm套用 98
Apache Storm介紹 98
Storm集群架構 99
Storm應用程式的概念 100
Apache Heron介紹 101
Heron架構 102
Heron topology架構 103
集成Apache Kafka與Apache Storm - Java 104
示 例 105
集成Apache Kafka與Apache Storm - Scala 110
用例—使用Storm、Kafka和Hive處理日誌 114
生產者 118
生產者代碼 119
欺詐IP查找 122
Storm應用程式 123
運行項目 132
總 結 133
第7章 使用Kafka與 Confluent Platform 134
Confluent Platform介紹 135
深入Confluent Platform架構 136
理解Kafka Connect 和 Kafka Stream 139
Kafka Streams 139
使用Schema Registry與Avro互動 140
將Kafka數據移動到HDFS 142
Camus 142
運行Camus 143
Gobblin 144
Gobblin架構 144
Kafka Connect 146
Flume 147
總 結 150
第8章 使用Kafka構建ETL管道 151
在ETL管道中使用Kafka 151
介紹Kafka Connect 153
深入研究Kafka Connect 154
介紹使用Kafka Connect示例 155
Kafka Connect常見的用例 159
總 結 160
第9章 使用Kafka Streams 構建流應用程式 161
介紹Kafka Streams 161
在流處理中使用Kafka 162
Kafka Stream—輕量級流處理庫 163
Kafka Stream架構 164
集成框架的優勢 166
理解Tables和Streams 167
Maven依賴 167
Kafka Stream單詞計數 168
KTable 170
Kafka Stream使用案例 171
Kafka Streams的Maven依賴 171
reader屬性 172
IP記錄生產者 173
IP查詢服務 176
欺詐檢測應用程式 177
總 結 179
第10章 Kafka集群部署 180
Kafka集群的內部結構 180
Zookeeper角色 181
復 制 182
元數據(Metadata)請求處理 184
生產者(Producer)請求處理 184
消費者(Consumer)請求處理 185
容量規劃 186
容量規劃的目標 186
複製因子 186
內 存 187
硬碟驅動器 187
網 絡 188
CPU 188
Kafka單集群部署 189
Kafka多集群部署 190
退役brokers 192
數據遷移 192
總 結 193
第11章 在大數據套用中使用Kafka 194
管理Kafka的高容量 195
適當的硬體選擇 195
生產者讀取和消費者寫入的選擇 197
Kafka訊息傳遞語義 198
至少一次傳遞 199
最多一次傳遞 202
正好一次傳遞 203
大數據和Kafka常見的使用模式 204
Kafka和數據治理 206
報警和監控 207
有用的Kafka指標 208
Kafka生產者指標 208
Kafka broker指標 209
Kafka消費者指標 209
總 結 210
第12章 Kafka安全 211
Kafka安全的概述 211
SSL有線加密 212
Kafka啟用SSL的步驟 213
為Kafka broker配置SSL 214
為Kafka客戶端配置SSL 214
Kerberos SASL認證 215
在Kafka中啟用SASL/GSSAPI的步驟 217
為Kafka broker配置SASL 217
為Kafka客戶端配置SASL―生產者和消費者 219
理解ACL和授權 220
常見的ACL操作 221
ACLs列表 222
Zookeeper身份驗證 223
Apache Ranger授權 224
為Ranger添加Kafka服務 224
添加策略(policies) 225
最佳實踐 227
總 結 229
第13章 流應用程式設計的考慮 230
延遲和吞吐量 231
數據和狀態的持久性 232
數據源 232
外部數據查詢 233
數據格式 233
數據序列化 234
並行度 234
無序的事件 235
訊息處理語義 235
總 結 236