[轉]kafka要等一段時間才能消費到數據


kafka要等一段時間才能消費到數據

為什么用python寫的kafka客戶端腳本,程序一運行就能生產數據,而要等一段時間才能消費到數據(topic里面有數據)。(pykafka和confluentKafka都一樣)

只有極少的概率立刻可以消費到數據,大多數都要等個幾分鍾,很影響測試效率。

  • 自己封裝的一個給予confluentKafka的consumer對象

圖片描述

  • 調用,topic里面是有內容的等一段時間也是可以消費到數據的

圖片描述

閱讀 4.8k
評論  更新於 2018-06-19
 
5 個回答
WANSX
  •  8

https://stackoverflow.com/que... 最下面的回答,注意conf中session.timeout.ms參數的設置。

評論  贊賞 2018-04-05
skyarthur
  •  1.1k

幾分鍾不應該啊,能把代碼貼下么

評論  贊賞 2018-04-05
    • skyarthur: 

      ok

        回復 2018-04-05
    • WANSX: 

      session.timeout.ms設置的太大了,導致了這個原因,感謝回答!

        回復 2018-04-05
谷雨
  •  1
  • 新手請關照

你在實例化consumer對象的時候加這樣兩個參數session_timeout_ms=6000,heartbeat_interval_ms=2000

consumer = KafkaConsumer(self.kafkatopic, group_id = self.groupid, bootstrap_servers = '{kafka_host}:{kafka_port}'.format( kafka_host=self.kafkaHost, kafka_port=self.kafkaPort ), session_timeout_ms=6000, heartbeat_interval_ms=2000) 

官網里有參數的解釋https://kafka-python.readthed...
主要是這句話:“ If no heartbeats are received by the broker before the expiration of this session timeout, then the broker will remove this consumer from the group and initiate a rebalance.”
另外本機的session_timeout_ms默認值我的是30s,不是官網里說的10s!

評論  贊賞 2018-06-19
  • 陽光筱帥: 

    更改了參數還是會出現這樣的問題


免責聲明!

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



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