温馨提示×

debian安装kafka怎么配置

小樊
54
2026-09-09 21:12:07
栏目: 智能运维

下面按在 Debian(如 Debian 11/12)上安装并配置 Apache Kafka的常见做法给你一个清晰步骤,包含单节点基础配置,适合测试/学习,也说明生产注意点。


一、环境准备

1. 安装 Java(Kafka 需要 JVM)

Kafka 3.x 推荐 Java 11 或 17

sudo apt update
sudo apt install -y openjdk-17-jdk
java -version

二、下载并安装 Kafka

1. 创建目录

sudo mkdir -p /opt/kafka
cd /opt/kafka

2. 下载 Kafka(以 3.7.0 为例)

wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0/* .
rm -rf kafka_2.13-3.7.0

三、配置 Kafka

1. 配置 Zookeeper(Kafka 3.3+ 也可用 KRaft,但新手建议先 Zookeeper)

编辑:

vim config/zookeeper.properties

常用配置:

dataDir=/opt/kafka/zookeeper-data
clientPort=2181
maxClientCnxns=0

创建数据目录:

mkdir -p /opt/kafka/zookeeper-data

2. 配置 Kafka Server

编辑:

vim config/server.properties

基础必改项:

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://你的IP:9092
log.dirs=/opt/kafka/kafka-logs
zookeeper.connect=localhost:2181

创建日志目录:

mkdir -p /opt/kafka/kafka-logs

⚠️ 如果是云服务器,advertised.listeners 必须写对外 IP 或域名


四、启动 Kafka

1. 启动 Zookeeper

nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

2. 启动 Kafka

nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

查看日志:

tail -f kafka.log

五、测试 Kafka

1. 创建 Topic

bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1

2. 生产消息

bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092

3. 消费消息

bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092

六、设为系统服务(推荐)

1. Kafka Service

sudo vim /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=network.target zookeeper.service

[Service]
Type=simple
User=root
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

2. Zookeeper Service

sudo vim /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target

[Service]
Type=simple
User=root
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

3. 启用

sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl enable kafka
sudo systemctl start zookeeper
sudo systemctl start kafka

七、生产环境建议

  • ✅ 多 broker(broker.id 不同)
  • ✅ replication-factor ≥ 3
  • ✅ 使用 KRaft 替代 Zookeeper(Kafka 新版本)
  • ✅ 配置 log.retention.hours
  • ✅ 防火墙只放行必要端口

如果你需要:

  • Debian + Docker 安装
  • KRaft 模式(无 Zookeeper)
  • 集群配置
  • Kafka + Spring Boot

告诉我你的使用场景,我可以直接给你对应配置。

0 踩