zookeeper-kafka集群部署总结篇

zookeeper是作为一个数据管道存储kafka消息队列,上一篇已经解决怎样部署一个zookeeper集群,基于zookeeper集群基础上,本篇介绍怎样部署kafka集群。

mv kafka_2.13-2.4.0.tgz /usr/local

tar -zxvf kafka_2.11-2.4.0.tgz

mv kafka_2.11-2.4.0  kafka

配置kafka环境变量,首先打开profile文件

vim /etc/profile

#set kafka environment

PATH=${KAFKA_HOME}/bin:$PATH

保存文件后,让该环境变量生效

source /etc/profile

依次修改集群服务器如下配置

vim /usr/local/kafka/config/server.properties

broker.id=1 #服务id 如3台集群分别是1,2,3

listeners=PLAINTEXT://192.168.1.x1:9092

zookeeper.connect=192.168.1.x1:2181,192.168.1.x2:2181,192.168.1.x3:2181

#分别在每台机器上启动kafka服务

/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties 

#任意一台kafka服务器上创建 kafa topic 

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.1.x:2181 --replication-factor 3 --partitions 1 --topic test-topic #x 表示实际IP

#查看topic是否创建成功

/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.1.x:2181 --topic test-topic

如果出现以下情况表示创建成功

Topic: test-topic PartitionCount: 1 ReplicationFactor: 3 Configs:
Topic: test-topic Partition: 0 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1

备注: 没有在kafka目录下创建zookeeper ,指定myid

解决:

cd kafka_2.11-1.1.0

mkdir zookeeper
cd zookeeper
touch myid
echo 0 > myid

重新启动kafka就ok

./bin/kafka-console-producer.sh --broker-list 192.168.1.9:9092 --topic topic-test #运行生产者发送消息

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.9:9092 --topic topic-test #运行消费者接收消息。