概述
集群配合分区可以实现kafka的横向扩展,提供性能。
环境:
centos7,三台kafka服务器,一台Zookeeper服务器 :
kafka:192.168.18.142、192.168.18.144、192.168.18.145
Zookeeper:192.168.18.143
分别修改kafka的配置文件server.properties
-
配置集群中的brokerId,同一个集群中的每个机器的id必须唯一。
192.168.18.142 的broker.id=0
192.168.18.142 的broker.id=1
192.168.18.142 的broker.id=2 -
修改zookeeper的连接配置,三台都一样。
zookeeper.connect=192.168.18.143:2181 -
修改listeners配置:如果配置了listeners,那么消息生产者和消费者会使用listeners的配置来进行消息的收发,如果不配置,会使用localhost,这个ip会记录到Zookeeper中供集群中的其他kafka节点用于集群通信,如果不配置就会使用localhost,但是其他节点用localhost只能访问本地,所以集群中的每个节点该配置项都要配置自己的ip供其他节点访问。
就像Zookeeper集群要在每个节点中配置所有节点的ip端口那样,这里就是配置这个,只是他只需要配置自身的,然后发布到Zookeeper中就行。
listeners=PLAINTEXT://192.168.18.142:9092
listeners=PLAINTEXT://192.168.18.144:9092
listeners=PLAINTEXT://192.168.18.145:9092
修改完以后就分别启动三个节点,前提是确保Zookeeper节点已经启动并对外服务,并且做好了相关防火墙设置。
启动成功,然后可以切换到后台启动。