首先准备三台机器,分别安装kafka+zookeeper+jdk
1.安装包在阿里云镜像源里面下载对应版本
zookeeper版本:apache-zookeeper-3.8.4-bin
kafka版本:kafka_2.13-3.7.2
2. 修改kafka配置文件
打开server.properties文件并进行如下配置:
唯一标识 broker.id,
数据存储路径 log.dirs,
监听地址 listeners,
ZooKeeper 地址 zookeeper.connect
listeners



3.启动kafka集群服务
./kafka-server-start.sh ../config/server.properties
4.验证Zookeeper集群写入测试
./zkCli.sh -server 172.16.20.6:2182
如果日志显示

启动成功并可用
5.创建topic测试
./kafka-topics.sh --create --topic test-topic-1 --bootstrap-server 172.16.20.5:9094 --partitions 3 --replication-factor 3
命名创建一个名未test-topic的主题
./kafka-topics.sh --list --bootstrap-server 172.16.20.6:9094
或者
./kafka-topics.sh --zookeeper ip+端口 --list
查看创建出来的topic
6.生产消息测试
./kafka-console-producer.sh --broker-list 172.16.20.5:9094,172.16.20.6:9094,172.16.20.7:9094 --topic test-topic-1
输入消息
7.启动消费者
./kafka-console-consumer.sh --topic test-topic-1 --from-beginning --bootstrap-server 172.16.20.7:9094
查看是否消费到数据
注:问题解决
zookeeper启动失败
1.zoo.cfg文件配置出错:dataLogDir指定的目录未被创建;
2.myid文件中的整数格式不对,或者与zoo.cfg中的server整数不对应
3.防火墙未关闭;
4.2181端口被占用;
5.zoo.cfg文件中主机名出错;
6.在虚拟机hosts文件中,本机的主机名有两个对应,只需保留主机名和ip地址的映射
kafka启动失败
1.检查kafka的broker.id=2 这是否与其他节点的有冲突
2.zookeeper是否报错
3.三台机器网络是否互通
浙公网安备 33010602011771号