注意問題:flume總結+kafka總結


flume總結

flume如何保證數據可靠性:JDBC   FILE   MEMORY  ???

  JDBC

  FILE: 傳輸慢

  MEMORY:傳輸快,但是容易丟數據。解決:寫個腳本監控如果flume掛了,瞬間啟動

 

  改造flume  exec源 ,增加守護線程來監控目錄-----防止丟失數據   |    redis緩存中,存儲已經收集過的key---防止重復收集

  可查看友盟項目鏈接flume

 

 

flume   LVS 負載均衡

  Linux Virtual Server 

  LVS集群采用IP負載均衡技術和基於內容請求分發技術

og

升級成ng

 

 

 

 

kafka總結

kafka數據丟失問題解決

 1、kafka數據丟失問題:

  acks = 1 只保證leader成功,如果剛好leader掛了,數據丟失

  acks=0  使用異步模式,該模式下kafka無法保證消息,可能會丟失

2、broker  kafka集群的緩存代理broker保證數據不丟失:  Broker:緩存代理,Kafka集群中的一台或多台服務器統稱為broker

  acks = all :所有副本都寫入成功並確認

  retries = 設置合理值 重新拉數據

  min.insync.replicas = 2  消息至少要被寫入到2 個副本才算成功

  unclean.leader.election.enable = false 關閉ubclean leader 選舉,不允許非ISR中的副本被選舉為leader,一面是戶據丟失

3、consumer保證數據不丟失:

  出現數據丟失因為在:在消息處理完成前就提交了offset

  解決:關閉自動提交偏移量offset:enable.auto.commit = false 

      處理完消息手動提交偏移量

 

kafka工作流程  

 

kafka保證消息順序:

  1、全局順序:全局使用一個生產者,一個分區,一個消費者

  2、局部順序:每個分區是有序的,根據業務場景制定不同的key進入不同的分區

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM