Administrator
Administrator
发布于 2025-09-26 / 8 阅读
0
0

kafka单节点安装(kraft模式)

下载kafka

wget https://mirrors.aliyun.com/apache/kafka/3.9.1/kafka_2.12-3.9.1.tgz

解压安装包

tar -zxvf kafka_2.12-3.9.1.tgz -C /usr/local
cd /usr/local
mv kafka_2.12-3.9.1 kafka
cd /usr/local/kafka
mkdir data

编写配置文件

cd /usr/local/kafka/config/kraft/
[root@kafka1 kraft]# cat server.properties 
process.roles=broker,controller
node.id=0
controller.quorum.voters=0@172.30.42.20:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://172.30.42.20:9092,CONTROLLER://172.30.42.20:9093
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
num.network.threads=4
num.io.threads=8
#socket优化
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
#存储配置
log.dirs=/usr/local/kafka/data
#主题默认配置
num.partitions=4
default.replication.factor=1
min.insync.replicas=1
#内部主题配置
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
#日志策略、控制磁盘占用
log.retention.hours=48
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.retention.bytes=10737418240
log.roll.ms=86400000
#性能优化参数
queued.max.requests=1000
fetch.purgatory.purge.interval.requests=1000
producer.purgatory.purge.interval.requests=1000
#连接管理
connections.max.idle.ms=3600000
max.connections=2000

格式化存储目录

cd /usr/local/kafka/bin
bin/kafka-storage.sh random-uuid > uuid
./kafka-storage.sh format --config ../config/kraft/server.properties --cluster-id `cat uuid`

修改jvm启动参数

vim /usr/local/kafka/bin/kafka-server-start.sh
export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"

systemctl管理kafka

vim /usr/lib/systemd/system/kafka.service
[Unit]
Description=Apache Kafka Server
After=network.target remote-fs.target kafka-zookeeper.service

[Service]
Type=forking
User=root
Group=root
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/kraft/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动kafka

systemctl daemon-reload
systemctl start kafka.service
systemctl status kafka.service
systemctl stop kafka.service


评论