本文介绍apache最新版本的kafka的集群安装部署
安装部署
-
首先要安装zookeeper
参考:https://blog.csdn.net/qq_41187116/article/details/125703053?spm=1001.2014.3001.5502
-
安装规划
服务器 角色 lsyk01 zookeeper、kafka lsyk02 zookeeper、kafka lsyk03 zookeeper、kafka -
下载安装包
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.2.0/kafka_2.13-3.2.0.tgz
其中2.13为Scala版本,3.2.0为kafka版本
-
解压及配置
tar -xvf kafka_2.13-3.2.0.tgz -C /opt/ cd /opt/kafka_2.13-3.2.0 # 创建存放kafka数据的目录 mkdir kafka-logs # 配置server.properties vim /opt/kafka_2.13-3.2.0/config/server.properties # 修改如下参数 broker.id=0 # 集群内全局唯一标识,每个节点上需要设置不同的值 listeners=PLAINTEXT://lsyk01:9092 # 这个IP是与本机相关的,每个节点上设置为自己的IP log.dirs=/opt/kafka_2.13-3.2.0/kafka-logs # 存放kafka消息的,逗号隔开 zookeeper.connect=lsyk01:2181,lsyk02:2181,lsyk03:2181 # 配置的是zookeeper集群地址
-
编写集群启动脚本
vim /opt/kafka_2.13-3.2.0/bin/kafka-c.sh # 添加如下内容 #!/bin/bash case $1 in "start"){ for i in lsyk01 lsyk02 lsyk03 do echo -------------------------------- $i kafka 启动 --------------------------- ssh $i "source /etc/profile;/opt/kafka_2.13-3.2.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.13-3.2.0/config/server.properties" done } ;; "stop"){ for i in lsyk01 lsyk02 lsyk03 do echo -------------------------------- $i kafka 停止 --------------------------- ssh $i "source /etc/profile;/opt/kafka_2.13-3.2.0/bin/kafka-server-stop.sh" done } ;; esac # 保存退出后,修改执行权限 chmod +x /opt/kafka_2.13-3.2.0/bin/kafka-cluster.sh
-
分发kafka目录文件至其他节点
scp -r /opt/kafka_2.13-3.2.0 lsyk02:/opt/ scp -r /opt/kafka_2.13-3.2.0 lsyk03:/opt/
-
在集群每个节点都需要修改配置文件
server.properties
中的broker.id
和listeners
参数
启动kafka集群
```shell
xxx startzk
/opt/kafka_2.13-3.2.0/bin/kafka-c.sh start
```
简单使用
- 创建主题
cd /opt/kafka_2.13-3.2.0
./bin/kafka-topics.sh --create --bootstrap-server lsyk01:9092 --replication-factor 3 --partitions 1 --topic fazi
-
查询主题
./bin/kafka-topics.sh --list --bootstrap-server lsyk01:9092
-
启动生产者
./bin/kafka-console-producer.sh --broker-list lsyk01:9092 --topic fazi
-
启动消费者
./bin/kafka-console-consumer.sh --bootstrap-server lsyk01:9092 --topic fazi --from-beginning