一個KAFKA集群需要多少個BROKER?
一個單獨的Kafka服務器被叫做BROKER,BROKER可以處理數千個分區以及每秒百萬級別的消息量。由BROKER組成了“集群”(其中由集群控制器角色的BROKER是從成員中選舉出來的,負責控制管理工作)
一、多少個BROKER取決于
1、磁盤容量:如果整個集群需要保留10TB數據,而每個broker可存儲2TB,那么至少需要5個BROKER;如果增加了復制系數,則還需多一倍的空間。
kafka建議每個broker的分區副本不超過14000個,每個集群的分區副本不超過100萬個。
2、單個broker的復制容量
3、CPU
4、網絡
BROKER配置的操作系統調優項:1) 虛擬內存 2)磁盤 3)網絡
生產環境的注意事項:JDK8以后,建議使用G1GC的回收機制
修改server.properties文件:XX:MetaspaceSize=96m -XX:+UseG1GC
二、關于Zookeeper
不建議把Zookeeper共享給其他應用程序,kafka對zk的延遲和超時比較敏感,如果多個broker與zk斷開連接,那么它們會離線,進而導致分區離線,也會給集群控制器造成壓力。
最好讓其他應用程序使用自己的Zookeeper群組。