首先安装zookeeper,参考:
https://blog.youkuaiyun.com/codingToMaster/article/details/103551807
kafka安装:
下载kafka包:
wget wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
解压:tar -zxvf kafka_2.11-2.0.0.tgz
命名为kafka:
mv kafka_2.11-2.0.0 kafka
修改:server.properties
cd kafka/config/
vi server.properties
然后将kafka复制到另外的两个节点上:
scp -r kafka/ root@192.168.40.137:/usr/local/
scp -r kafka/ root@192.168.40.138:/usr/local/
修改broker.id
192.168.40.137修改为:broker.id=1
192.168.40.138修改为:broker.id=2
192.168.40.139修改为:broker.id=3
修改listeners(ip地址为本机的ip地址):
修改超时时间,这个是一定要修改的,否则会报:
Timed out waiting for connection while in state: CONNECTING
集群启动:
先启动zookeeper(三台都要启动):
再启动kafka:
sh kafka-server-start.sh -daemon ../config/server.properties
测试:
创建一个topic:
sh kafka-topics.sh --zookeeper 192.168.40.137:2181 --topic topic1 --create --partitions 3 --replication-factor 2
查看这个topic:
sh kafka-topics.sh --zookeeper 192.168.40.137:2181 --topic topic1 --describe
使用consumer订阅消息:
sh kafka-console-consumer.sh --zookeeper 192.168.40.137:2181 --topic topic1
使用producer创建消息:
sh kafka-console-producer.sh --broker-list 192.168.40.138:9092 --topic topic1
在producer端发送数据:
消费端接受到消息:
登录zookeeper,查看注册状态: