3dwoo大學簡體電腦書店
構建Apache Kafka流數據應用
( 簡體 字)
作者:[印] 曼尼施·庫馬爾 尚沙勒·辛格 著類別:1. -> 程式設計 -> Kafka
譯者:蔣守壯 譯
出版社:清華大學出版社構建Apache Kafka流數據應用 3dWoo書號: 49905
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:9/1/2018
頁數:236
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302509363 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
其他生產者配置 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
Rebalancelisteners 64
常用的消息消費模式 64
最佳實踐 67
總結 68
第5章集成Kafka構建SparkStreaming應用 69
Spark介紹 70
Spark架構 70
Spark的核心 72
Spark生態系統 73
SparkStreaming 75
Receiver-based集成 75
Receiver-basedapproach的缺點 77
Receiver-based集成的Java示例 77
Receiver-based集成的Scala示例 79
Directapproach 80
Directapproach的Java示例 82
Directapproach的Scala示例 83
日志處理用例—欺詐IP檢測 84
Maven 85
生產者 89
Reader屬性 89
生產者代碼 90
欺詐IP查找 92
暴露Hive表 93
Streaming代碼 94
總結 97
第6章集成Kafka構建Storm應用 98
ApacheStorm介紹 98
Storm集群架構 99
Storm應用程序的概念 100
ApacheHeron介紹 101
Heron架構 102
Herontopology架構 103
集成ApacheKafka與ApacheStorm-Java 104
示例 105
集成ApacheKafka與ApacheStorm-Scala 110
用例—使用Storm、Kafka和Hive處理日志 114
生產者 118
生產者代碼 119
欺詐IP查找 122
Storm應用程序 123
運行項目 132
總結 133
第7章使用Kafka與ConfluentPlatform 134
ConfluentPlatform介紹 135
深入ConfluentPlatform架構 136
理解KafkaConnect和KafkaStream 139
KafkaStreams 139
使用SchemaRegistry與Avro交互 140
將Kafka數據移動到HDFS 142
Camus 142
運行Camus 143
Gobblin 144
Gobblin架構 144
KafkaConnect 146
Flume 147
總結 150
第8章使用Kafka構建ETL管道 151
在ETL管道中使用Kafka 151
介紹KafkaConnect 153
深入研究KafkaConnect 154
介紹使用KafkaConnect示例 155
KafkaConnect常見的用例 159
總結 160
第9章使用KafkaStreams構建流應用程序 161
介紹KafkaStreams 161
在流處理中使用Kafka 162
KafkaStream—輕量級流處理庫 163
KafkaStream架構 164
集成框架的優勢 166
理解Tables和Streams 167
Maven依賴 167
KafkaStream單詞計數 168
KTable 170
KafkaStream使用案例 171
KafkaStreams的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
Kafkabroker指標 209
Kafka消費者指標 209
總結 210
第12章Kafka安全 211
Kafka安全的概述 211
SSL有線加密 212
Kafka啟用SSL的步驟 213
為Kafkabroker配置SSL 214
為Kafka客戶端配置SSL 214
KerberosSASL認證 215
在Kafka中啟用SASL/GSSAPI的步驟 217
為Kafkabroker配置SASL 217
為Kafka客戶端配置SASL―生產者和消費者 219
理解ACL和授權 220
常見的ACL操作 221
ACLs列表 222
Zookeeper身份驗證 223
ApacheRanger授權 224
為Ranger添加Kafka服務 224
添加策略(policies) 225
最佳實踐 227
總結 229
第13章流應用程序設計的考慮 230
延遲和吞吐量 231
數據和狀態的持久性 232
數據源 232
外部數據查詢 233
數據格式 233
數據序列化 234
并行度 234
無序的事件 235
消息處理語義 235
總結 236
Apache Kafka是一個流行的分布式流平臺,充當消息隊列或企業消息傳遞系統。它用來發布和訂閱數據流,并在發生錯誤時以容錯方式處理它們。
本書共13章,全面介紹使用Apache Kafka等大數據工具設計和構建企業級流應用方面的內容,包括構建流應用程序的最佳實踐,并解決了一些常見的挑戰,例如如何高效地使用Kafka輕松處理高容量數據。完成本書的學習后,讀者能使用Kafka設計高效的流數據應用程序。
本書既適合Kafka初學者、大數據應用開發人員、大數據應用運維人員閱讀,也適合高等院校與培訓學校相關專業的師生教學參考。
Apache Kafka是一個流行的分布式流平臺,充當消息隊列或企業消息系統,允許你發布和訂閱流記錄,并以容錯的方式進行處理。
本書是使用Apache Kafka和其他大數據工具設計和構建企業級流應用(應用程序)的綜合指南,包括構建此類應用程序的最佳實踐,并解決了一些常見的挑戰性問題,例如如何有效地使用Kafka來輕松處理高容量數據。本書首先介紹消息系統類型,然后詳細介紹Apache Kafka及其內部細節,接著介紹如何使用各種框架和工具(如Apache Spark、Apache Storm等)設計流應用程序。掌握了這些基礎知識以后,我們將帶你理解Apache Kafka中更高級的概念,例如容量規劃和安全性。
到本書結束時,你將掌握使用Apache Kafka時所需要的所有信息,并使用它設計高效的流數據應用程序。
本書涵蓋的內容
第1章,消息系統介紹,介紹消息系統的概念。本章涵蓋了消息系統及其企業需求的概述,它進一步強調了使用諸如點到點或發布/訂閱等消息系統的不同方式,并引入了AMQP。
第2章,介紹Kafka——分布式消息平臺,介紹諸如Kafka這樣的分布式消息平臺。本章涵蓋了Kafka架構,并觸及內部組件,進一步探討了每個Kafka組件的角色和重要性,以及它們如何對低延遲、可靠性和Kafka消息系統的可伸縮性做出貢獻。
第3章,深入研究Kafka生產者,是關于如何向Kafka系統發布消息的內容。本章進一步介紹了Kafka生產者APIs及其用法,展示了使用Java和Scala編程語言調用Kafka生產者APIs的例子。需要深入了解生產者消息流以及一些用于向Kafka Topics生產消息的常見模式,為Kafka的生產者提供了一些性能優化的技術。
第4章,深入研究Kafka消費者,是關于如何從Kafka系統中消費消息。這也包括Kafka消費者APIs及其使用,展示了使用Java和Scala編程語言調用Kafka消費者APIs的例子,深入探討了消費者消息流和一些常見的從Kafka Topics中消費消息的模式,為Kafka消費者提供了一些性能優化的技術。
第5章,集成Kafka構建Spark Streaming應用,是關于如何將Kafka與流行的分布式處理引擎Apache Spark集成在一起的內容。本章提供了Apache Kafka的簡要概述,將Kafka與Spark集成的不同方法以及它們的優缺點,并展示了Java和Scala中的用例。
第6章,集成Kafka構建Spark Storm應用,是關于如何將Kafka與流行的實時處理引擎Apache Storm集成在一起的內容。本章還簡要介紹了Apache Storm和Apache Heron,展示了使用Apache Storm和Kafka進行事件處理的不同方法的示例,包括有保證的事件處理。
第7章,使用Kafka與Confluent Platform,是關于新興的流平臺Confluent的,使你能夠有效地使用Kafka和許多其他額外的功能,展示了許多本章涵蓋主題的許多例子。
第8章,使用Kafka構建ETL管道,介紹Kafka Connect,這是一種常見組件,用于構建涉及Kafka的ETL管道,強調如何在ETL管道中使用Kafka Connect,并討論一些相關深入的技術概念。
第9章,使用Kafka Streams構建流應用程序,是關于如何使用Kafka Stream構建流應用程序的內容,這是Kafka 0.10發行版的一個組成部分,也包括使用Kafka Stream構建快速可靠的流應用程序,包括示例。
第10章,Kafka集群部署,著重于在企業級生產系統上部署Kafka集群,深入涵蓋了Kafka集群,例如如何進行容量規劃、如何管理單個/多集群部署等,還介紹了如何在多租戶環境中管理Kafka以及Kafka數據遷移所涉及的各個步驟。
第11章,在大數據應用程序中使用Kafka,介紹了在大數據應用程序中使用Kafka的一些方面,包括如何管理Kafka中的高容量、如何確保有保證的消息傳遞、處理故障而不丟失數據的最佳方式以及在大數據管道中使用Kafka時可應用的一些治理原則。
第12章,Kafka安全,是關于保護Kafka集群的內容,包括身份驗證、授權機制以及示例。
第13章,流應用程序設計的考慮,是關于構建流應用程序的不同設計考慮的內容,可以讓你了解并行性、內存調優等方面,全面提供了設計流應用程序的不同范式。
對于這本書你需要什么
你將需要以下軟件來處理本書中的示例:
Apache Kafka、大數據、Apache Hadoop、發布和訂閱、企業消息系統、分布式流、生產者API、消費者API、Streams API、Connect API。
這本書適合誰
如果你想以最簡單的方式學習如何使用Apache Kafka和Kafka生態系統中的各種工具,本書就是為你準備的。需要具有一些Java編程經驗才能充分利用這本書。
排版約定
在本書中,你將會發現許多區分不同類型信息的文本格式。下面是這些樣式的一些例子及其含義的解釋。
代碼塊的設置如下:
import org.apache.Kafka.clients.producer.KafkaProducer;
import org.apache.Kafka.clients.producer.ProducerRecord;
import org.apache.Kafka.clients.producer.RecordMetadata;

任何命令行輸入或輸出的寫法如下:
sudo su - hdfs -c "hdfs dfs -chmod 777 /tmp/hive"
sudo chmod 777 /tmp/hive

部分新術語和重要單詞會以粗體顯示。例如,在屏幕上看到的單詞或菜單中出現的文字如下所示:“為了下載新模塊,我們將轉到Files | Settings | Project Name | Project Interpreter”。
警告或重要提示使用圖標:
提示和技巧使用圖標:
讀者反饋
歡迎來自我們讀者的反饋。讓我們知道你對這本書的看法——你喜歡或不喜歡的內容。讀者反饋對我們來說很重要,因為它可以幫助我們開發出你真正可以獲得最大收益的主題。
為了給我們提供反饋,請發送E-mail至:jiangshouzhuang@gmail.com,并在你的郵件主題中注明這本書的書名。
pagetop