一个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群组。