安装
- 安装 Java(推荐 JDK 17)
sudo apt update
sudo apt install openjdk-17-jdk -y
java -version- 下载 Kafka
cd /opt
sudo wget wget https://dlcdn.apache.org/kafka/3.9.1/kafka_2.13-3.9.1.tgz
sudo tar -xzf kafka_2.13-3.9.1.tgz
sudo mv kafka_2.13-3.9.1 kafka- 创建存储目录
cd kafka
mkdir -p /opt/kafka/data- 初始化 KRaft 模式
# 生成唯一 cluster ID
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
# 格式化存储目录
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties- 修改配置(可选优化)
vim config/kraft/server.properties
num.partitions=1
auto.create.topics.enable=true
log.retention.hours=1
log.segment.bytes=10485760
num.network.threads=1
num.io.threads=1
queued.max.requests=10- 内存优化
export KAFKA_HEAP_OPTS="-Xmx256M -Xms256M"- 启动服务
bin/kafka-server-start.sh config/kraft/server.propertiesSASL认证
vim config/kraft/server.properties修改以下内容
listeners=SASL_PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
advertised.listeners=SASL_PLAINTEXT://服务IP:9092
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
listener.name.sasl_plaintext.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="username" \
password="password" \
user_admin="admin123" \
user_test="test123";添加系统服务
- 配置文件
vim /etc/systemd/system/kafka.service[Unit]
Description=Apache Kafka Server (KRaft Mode)
After=network.target
[Service]
Type=simple
User=root
Group=root
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="KAFKA_HEAP_OPTS=-Xmx200M -Xms200M -Duser.timezone=Asia/Shanghai"
Environment="TZ=Asia/Shanghai"
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
RestartSec=5
# 限制资源(可选,1核1G机推荐)
LimitNOFILE=65536
LimitNPROC=4096
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target- 加载服务文件并启用自启动
sudo systemctl daemon-reload
sudo systemctl enable kafka- 启动 / 停止 / 查看状态
# 启动 Kafka
sudo systemctl start kafka
# 查看状态(包括日志最后几行)
sudo systemctl status kafka -l
# 停止
sudo systemctl stop kafka
# 重启
sudo systemctl restart kafka 感谢大家的阅读, 如有疑问可以加我微信

