一、概述
测试环境因为机器不够, 所以就在一台机器上配置kafka的集群
集群配置参考kafka文档, 详细的说明不记录
参考链接: http://kafka.apachecn.org/quickstart.html
二、配置
1、预留kafka端口:
host1:9092, host2:9093, host3:9094
2、复制配置两个kafka副本
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
3、编辑配置文件
# vim config/server.properties
broker.id=0
listeners=PLAINTEXT://host1:9092
log.dir=/tmp/kafka-logs
# vim config/server-1.properties
broker.id=1
listeners=PLAINTEXT://host2:9093
log.dir=/tmp/kafka-logs-1
# vim config/server-2.properties
broker.id=2
listeners=PLAINTEXT://host3:9094
log.dir=/tmp/kafka-logs-2
4、依次启动kafka集群机器 因为kafka 会自动生成log文件, 所以可以把控制台日志文件丢弃, 在重定向控制台日志到 /dev/null
bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &
bin/kafka-server-start.sh config/server-1.properties >/dev/null 2>&1 &
bin/kafka-server-start.sh config/server-2.properties >/dev/null 2>&1 &
5、检查kafka集群有没有启动成功
cd {zookeeper_home}/bin
./zkCli.sh
ls /brokers/ids
[zk: localhost:2181(CONNECTED) 9] ls /brokers/ids
[0, 1, 2]
出现数组[0, 1, 2] 就说明配置的节点已经启动成功
6、验证topic的创建
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
7、生产消息
bin/kafka-console-producer.sh --broker-list host1:9092 --topic my-replicated-topic
8、消费消息
bin/kafka-console-consumer.sh --bootstrap-server host2:9092 --from-beginning --topic my-replicated-topic