搭建 Kafka 集群 (v2.12-2.3.0)
服务器:10.20.32.121,10.20.32.122,10.20.32.123
三台服务器都需要安装jdk、配置zookeeper、配置kafka
1、安装配置jdk1.8
[root@localhost ~]# cat /etc/profile export JAVA_HOME=/opt/jdk1.8.0_101 export PATH=$JAVA_HOME/bin:$PATH
2、安装配置zookeeper集群
3、安装配置kafka集群(以10.20.32.121配置为例)
3.1、下载解压文件
[root@node3 cluster]# cd /opt && wget https://www-eu.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz [root@node3 cluster]# tar zxvf kafka_2.12-2.3.0.tgz
3.2、编辑配置文件/opt//kafka_2.12-2.3.0/config/server.properties,以下是需要修改的部分
broker.id=121 listeners=PLAINTEXT://10.20.32.121:9092 log.dirs=/opt/kafka_2.12-2.3.0/kafkalogs zookeeper.connect=10.20.32.121:2181,10.20.32.122:2181,10.20.32.123:2181 # Timeout in ms for connecting to zookeeper需修改,不然报超时 zookeeper.connection.timeout.ms=60000
#group.initial.rebalance.delay.ms=0
注意:
如果是单机版的话,使用默认配置即可。
如果是配置集群,下面信息必须修改:
(1)、broker.id:同一个集群中,每台机器均不能一样
(2)、zookeeper.connect:因为我有3台zookeeper服务器,所以在这里zookeeper.connect设置为3台,必须全部加进去
(3)、listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误
10.20.32.122与10.20.32.123服务器只需要修改broker.id、listeners值,broker.id=122 listeners=PLAINTEXT://10.20.32.122:9092,broker.id=123 listeners=PLAINTEXT://10.20.32.123:9092
4、启动zookeeper、kafka
/opt/zookeeper-3.4.10/bin/zkServer.sh start
/opt/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.12-2.3.0/config/server.properties
5、测试
10.20.32.121上创建test主题:
/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
10.20.32.122、10.20.32.123上查看topic:
/opt/kafka_2.12-2.3.0/bin/kafka-topics.sh --list --zookeeper localhost:2181