linux部署kafka集群
一、环境
系统:CentOS Linux release 7.9.2009 (Core)
zookeeper:3.6
kafka:kafka_2.13-2.8.0
二、部署
zookeeper部署详见:https://www.cnblogs.com/sxFu/p/16017975.html
下载kafka:http://kafka.apache.org/downloads
节点:
192.168.48.133 | 192.168.48.159 | 192.168.49.67 |
把下载的 kafka_2.13-2.8.0.tgz 包上传至 192.168.48.133 节点 /opt/app
解压:tar -xf kafka_2.13-2.8.0.tgz
改名:mv kafka_2.13-2.8.0 kafka
修改配置文件:
# broker.id唯一,分别设置为0、1、2 broker.id=0 # listeners:定义外部连接着通过指定主机名和端口号访问开发的kafka服务(替换host.name和port参数) listeners=PLAINTEXT://192.168.48.133:9092 # log.dirs:kafka日志存放目录 log.dirs=/opt/app/kafka/logs # zookeeper.connect:配置zookeeper集群地址 zookeeper.connect=192.168.48.133:2181,192.168.48.159:2181,192.168.49.67:2181
修改后分发至另外两个节点并修改broker.id与listeners
scp -r kafka/ 192.168.48.159:/opt/app/ broker.id=1 listeners=PLAINTEXT://192.168.48.159:9092 scp -r kafka/ 192.168.49.67:/opt/app/ broker.id=2 listeners=PLAINTEXT://192.168.49.67:9092
配置环境变量:
# 三台节点都要配置
vi ~/.bash_profile export KAFKA_HOME=/opt/app/kafka export PATH=$KAFKA_HOME/bin:$PATH
# 使其生效
source ~/.bash_profile
启动kafka集群,启动前确保zookeeper集群启动正常:
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties &
启动后查看端口以及进程
三、验证集群是否正常
随便找台节点进入kafka安装程序的bin文件夹中,创建主题
./kafka-topics.sh --create --zookeeper 192.168.48.133:2181,192.168.48.159:2181,192.168.49.67:2181 --topic test --partitions 3 --replication-factor 1
查看创建的topic
./kafka-topics.sh --zookeeper 192.168.48.133:2181,192.168.48.159:2181,192.168.49.67:2181 --list
找台节点测试生产者
./kafka-console-producer.sh --broker-list 192.168.48.133:9092,192.168.48.159:9092,192.168.49.67:9092 --topic test
找台节点测试消费者
写文章之前验证过,所以多了两条消息记录,在验证另外一台节点
自此可证明搭建的kafka集群可正常使用。