kafka集群安装
该应用运行环境为 rocky 9.4 x86_64 操作系统,应用使用到的版本为kafka-2.13-3.2.0 ,需要JDK 1.8版本
1. 下载安装包
登录Apache kafka 官方下载
备注:2.11-1.1.0版本才与JDK1.7兼容,否则更高版本需要JDK1.8

tar -zxvf kafka_2.13-3.2.0.tgz
解压到对应服务器opt目录下。
2. 安装Kafka server(Kraft集群模式)步骤
2.1 配置优化
按实际内存配件配置,优化启动脚本内存默认配置bin/kafka-server-start.sh
cd /opt/kafka
vi bin/kafka-server-start.sh
#x修改该项配置
export KAFKA_HEAP_OPTS="-Xmx6G -Xms2G"
2.2 节点配置修改
elk-kafka01节点修改config/kraft/server.properties(仅列出需修改项,其它按默认配置
#集群节点ID,不可重复
node.id=1
controller.quorum.voters=1@172.28.*.*:****,2@172.28.*.*:****,3@172.28.*.*:****
监听设置,PLAINTEXT为VPN网段访问入口,INTERNAL为生产内网网段访问入口
listeners=PLAINTEXT://172.28.*.*:****,CONTROLLER://172.28.*.*:****,INTERNAL://192.168.*.*:****
#这里注释掉默认listener名称,默认配置与下文多网段listeners设置冲突
#inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://172.28.*.*:****,INTERNAL://192.168.*.*:****
#增加协议映射配置INTERNAL:PLAINTEXT
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL,INTERNAL:PLAINTEXT
#日志存储目录
log.dirs=/opt/kafka_2.13-3.2.0/kraft-combined-logs
#普通topic副本分区数量,这里设置为3份
num.partitions=3
#每个日志目录只使用三个线程池来处理日志片段
num.recovery.threads.per.data.dir=3
#__consumer_offsets(这个topic的作用主要是保存当前topic的消费者的offset)高可用性相关设置
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=2
另外两个节点elk-kafka02、elk-kafka03,仅列出与第一个节点设置不同的部分:
node.id=2
listeners=PLAINTEXT://172.28.*.*:****,CONTROLLER://172.28.*.*:****,INTERNAL://192.168.*.*:****
advertised.listeners=PLAINTEXT://172.28.*.*:****,INTERNAL://192.168.*.*:****
node.id=3
listeners=PLAINTEXT://172.28.*.*:****,CONTROLLER://172.28.*.*:****,INTERNAL://192.168.*.*:***
advertised.listeners=PLAINTEXT://172.28.*.*:****,INTERNAL://192.168.*.*:***
2.3 建立并格式化日志存储目录
cd /opt/kafka_2.13-3.2.0
mkdir kraft-combined-logs
整个集群有一个唯一的ID标志。使用uuid。可使用官方提供的kafka-storage tool生成,亦可以自己去用其他生成uuid
1J_vwyheQEyRutSEQ5Te0A
bin/kafka-storage.sh random-uuid
1J_vwyheQEyRutSEQ5Te0A(生成的uuid)
#格式化
bin/kafka-storage.sh format -t 1J_vwyheQEyRutSEQ5Te0A -c config/kraft/server.properties
2.4 启动Kafka server(Kraft模式)
cd /opt/kafka_2.13-3.2.0
bin/kafka-server-start.sh -daemon config/kraft/server.properties
2.5 停止Kafka server
cd /opt/kafka_2.13-3.2.0
bin/kafka-server-stop.sh
3. 日常维护操作指令
3.1 列出所有topic名称
cd /opt/kafka_2.13-3.2.0
bin/kafka-topics.sh --bootstrap-server 172.28.*.*:**** --list --topic {name}
3.2 列出所有topic的具体信息
cd /opt/kafka_2.13-3.2.0
bin/kafka-topics.sh --bootstrap-server 172.28.*.*:**** --describe
3.3 删除指定topic,标记delete后一会文件夹会自动清理
cd /opt/kafka_2.13-3.2.0
bin/kafka-topics.sh --bootstrap-server 172.28.*.*:**** --delete --topic {name}
bin/kafka-topics.sh --bootstrap-server 172.28.*.*:**** --delete --topic
{name}
这里只要操作Kafka集群中任意一台,即可删除所有相关分片
3.4 查看topics内容,不加from-beginning为显示最新消费内容
cd /opt/kafka_2.13-3.2.0
bin/kafka-console-consumer.sh
--bootstrap-server 172.28.*.*:**** --topic {name} --from-beginning
浙公网安备 33010602011771号