kafka + sparkstreaming 有什麼好處:
1、解耦 2、緩衝 (系統之間解耦合、峰值壓力緩衝、非同步通訊)
kafka訊息佇列的特點:
可靠性保證:自己不丟資料,消費者不丟資料
訊息系統的特點:生產者消費者模式 ,fifo
--partition內部是fifo的,partition之間不是fifo的,當然我們可以把乙個topic設為乙個pertition,這樣就是嚴格的fifo ,
高效能: 單節點支援上千個客戶端,百mb/s吞吐
永續性:訊息直接持久化到磁碟上且效能好
分布式:資料副本冗餘,流量負載均衡、可擴充套件
--分布式,資料副本,也就是乙份資料可以到不用的broker上去,也就是當乙份資料磁碟壞掉的時候,資料不會丟失,比如3個副本,就是在3個機器磁碟都壞掉的情況下,資料才會丟失
很靈活: 訊息長時間持久化 + client 維護消費狀態
--消費方式非常的靈活,第一原因是訊息持久化的時間跨度長,一天或者乙個星期,第二消費者可以自己維護消費到那個地方了,可以自定義消費偏移量
kafka是分布式訊息系統,預設直接將資料儲存到磁碟,儲存7天
搭建kafak集群:
一、kafka0.8.2版本集群的搭建:
1、上傳kafka0.82的安裝包
2、解壓安裝包 tar -zxvf kafka-0.8.2
3、修改配置檔案 cd /kafka-0.8.2/config vim servere.properties
配置檔案中需要修改的內容:
broker.id = 0 =》 代表第乙個broker節點
broker.id = 1 => 代表第二個broker節點
broker.id = 2 = > 代表第三個broker節點
配置通訊埠號: port = 9092
log.dirs = /kafka.logs (配置kafka資料儲存的資料夾位置)
配置zookeeper :
zookeeper.connect = mynode3:2181,mynode4:2181,mynode5:2181
配置完成之後,對配置檔案就行儲存
4、上傳kafka啟動指令碼 (啟動指令碼的作用,在kafka啟動之後,保證不會占用通訊節點的視窗,讓啟動資訊在視窗後台去執行 )
指令碼上傳的位置: kafka-0.8.2.2 資料夾的第一級目錄之中 ,位置如果放置錯誤,啟動指令碼將會失效,需要自己修改指令碼中的啟動路勁
5、分發檔案到其他節點 scp -r ./kafka_2.10.0.8.2.2/ mynode2:`pwd`
6、非指令碼命令啟動kafka: 進去bin目錄 ./kafka-server-start.sh ../config/server.propoerties
kafka建立topic的命令:
./kafka-topics.sh --zookeeper mynode3:2181,mynode4:2181,mynode5:2181 --create --topic topic0627 --partitions 3 --replication-factor 3
kafka刪除topic的命令:
./kafka-topics.sh --zookeeper mynode3:2181,mynode4:2181,mynode5:2181 --delete --topic topic0627
在server.properties檔案中配置 delete.topic.enable = true 配置成功之後,就能對資料進行刪除了
Kafka知識點總結
kafka是一種高吞吐量的分布式發布訂閱訊息系統,它可以處理消費者規模的 中的所有動作流資料。這種動作 網頁瀏覽,搜尋和其他使用者的行動 是在現代網路上的許多社會功能的乙個關鍵因素。這些資料通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。對於像hadoop一樣的日誌資料和離線分析系統,但又要求...
Kafka知識點總結
下圖所體現出來的知識點 紅色字型表示隱藏知識點 1 kafka生態系統四大角色 生產者 producer kafka集群 broker 消費者 consumer zookeeper。2 每個消費者都必須屬於乙個消費組,乙個組內的消費者可以有多個。3 乙個topic 主題 可以有1到多個partiti...
KafKa的知識點總結
1 kafka是什麼?類jms訊息佇列,結合jms中的兩種模式,可以有多個消費者主動拉取資料,在jms中只有點對點模式才有消費者主動拉取資料。kafka是乙個生產 消費模型。producer 生產者,只負責資料生產,生產者的 可以整合到任務系統中。資料的分發策略由producer決定,預設是defa...