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
posted @ 2025-05-15 11:06  优花梨天下第一可爱  阅读(28)  评论(0)    收藏  举报