Kafka升級

kafka升級

Upgrading from 0.8.x, 0.9.x, 0.10.0.x, 0.10.1.x or 0.10.2.x to 0.11.0.x


升級之前的引言

kafka-0.11.0.x引入了一個新的消息格式版本和線協議,通過遵循以下的滾動升級計劃,可以實現不停服務完成升級。

從0.10.2版本開始,Java客戶端(生產者和消費者)是可以和舊版本通信的,而0.11.0客戶端只可以與0.10.0之后的版本通信。如果現有集群的broker老于0.10.0版本,那么必須在升級客戶端之前,先升級kafka集群中所有的broker。0.11.0版本的kafka broker支持0.8.x以上版本的客戶端


滾動升級

1. 更新所有broker的server.properties文件,并添加以下屬性:

inter.broker.protocol.version=CURRENT_KAFKA_VERSION (如:0.8.2.0, 0.9.0.0或0.10.0.0).

log.message.format.version=CURRENT_KAFKA_VERSION (有關此配置的詳細信息,請查看升級后潛在的性能影響。)

2. 每次升級一個broker:關閉broker,替換新版本,然后重新啟動它。

3. 一旦整個群集升級,通過編輯server.properties中的inter.broker.protocol.version并將其設置為0.11.0.x來轉換所有協議,但現在不要修改log.message.format.version

4. 逐個重新啟動broker,使新協議版本生效。

5. 當所有的消費者升級到0.11.0以上版本時,再修改kafka broker的server.properties的log.message.format.version為0.11.0.然后再逐個重啟broker。注意舊版本的消費者是不支持新版本消息格式的,所以為了避免下變頻的性能開銷,盡量使用新的Java消費者。


說明

1.如果可接受停機,你可以簡單地將所有broker關閉,更新版本并重啟啟動,它們將默認從新版本開始。

2.變換協議版本和重啟啟動可以在broker升級完成后的任何時間去做,不必馬上做。

3.在變更log.message.format.version全局設置之前依舊可以使用topic管理工具(bin/kafka-topics.sh)

4.如果是從0.10.0之前的版本升級,那么massage format不必要在0.11.0之前先更新設置0.10.0

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • ** 今天看了一下kafka官網,嘗試著在自己電腦上安裝和配置,然后學一下官方document。** Introd...
    RainChang閱讀 5,050評論 1 30
  • Kafka入門經典教程-Kafka-about云開發 http://www.aboutyun.com/threa...
    葡萄喃喃囈語閱讀 10,880評論 4 54
  • 本文轉載自http://dataunion.org/?p=9307 背景介紹Kafka簡介Kafka是一種分布式的...
    Bottle丶Fish閱讀 5,502評論 0 34
  • 文︱咖啡未冷前 01. 人生總有遺憾,這才是不完美的人生。 “如果再見不能紅著臉,是否還能紅著臉,就像那年匆促刻下...
    川想閱讀 455評論 6 6