前置
kafka集群需要提前安装 zookeeper(或单机使用kafka自带zookeeper)
zookeeper 搭建
安装
解压压缩包
tar -zxvf kafka_2.12-2.4.1.tgz -C ./
环境变量设置
配置环境变量并生效
vim /etc/profileexport KAFKA_HOME=/opt/module/kafka_2.12-2.4.1
export PATH=$PATH:$KAFKA_HOME/binsource /etc/profile
配置文件
找到并配置以下配置项
broker.id=0
log.dirs=/opt/module/kafka_2.12-2.4.1/logs
zookeeper.connect=master:2181,slave1:2181,slave2:2181

下发配置
下发配置文件,并生效
scp -r /opt/module/kafka_2.12-2.4.1/ root@slave1:/opt/module/
scp -r /opt/module/kafka_2.12-2.4.1/ root@slave2:/opt/module/
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/

修改
分发下去的文件需要修改其中的broker.id(全局唯一)slave1的config/server.properties文件
slave2的config/server.properties文件
在master上需要对config/server.properties进行配置(至少要有一个listeners,其他节点listeners不一样)
启动
启动kafka服务器(集群就是每个机器都要启动,加上nohup让服务器在后台运行)
nohup kafka-server-start.sh config/server.properties &





检查
创建topic
kafka-topics.sh --create --bootstrap-server master:9092 --topic Hi --replication-factor 1 --partitions 3

运行 Producer
运行Producer脚本并监听创建的Hi topic
kafka-console-producer.sh --broker-list master:9092 --topic Hi
运行 Consumer
运行Consumer脚本并监听创建的Hi topic
kafka-console-consumer.sh --bootstrap-server master:9092 --topic Hi
Producer 向 Consumer发送消息
Consumer 能接收到 Producer 的信息代表成功

评论 (0)