温馨提示×

怎么配置Debian Kafka

小樊
40
2026-07-11 15:37:43
栏目: 智能运维

下面给你一份在 Debian 系统上配置 Kafka 的完整实操指南,从环境准备到启动、测试,适合新手和服务器部署。


一、前置条件

1. 系统要求

  • Debian 10 / 11 / 12(x86_64)
  • 至少 2GB 内存(生产建议 4GB+)
  • Java 8 或以上(推荐 Java 11 / 17)

2. 安装 Java

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

验证:

java -version

二、下载并安装 Kafka

1. 创建用户(推荐)

sudo useradd -r -m -s /bin/bash kafka

2. 下载 Kafka

cd /opt
sudo wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
sudo tar -xzf kafka_2.13-3.7.0.tgz
sudo mv kafka_2.13-3.7.0 kafka
sudo chown -R kafka:kafka /opt/kafka

三、配置 Kafka

1. 基本配置(单机)

编辑配置文件:

sudo nano /opt/kafka/config/server.properties

常用关键配置:

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/var/lib/kafka-logs
num.partitions=1
offsets.topic.replication.factor=1
zookeeper.connect=localhost:2181

如果是 Kafka 3.x 且不用 ZooKeeper(KRaft 模式),见文末补充。


四、配置 ZooKeeper(Kafka 2.x / 3.x 默认)

1. 配置 ZooKeeper

sudo nano /opt/kafka/config/zookeeper.properties

示例:

dataDir=/var/lib/zookeeper
clientPort=2181

2. 创建数据目录

sudo mkdir -p /var/lib/zookeeper
sudo chown -R kafka:kafka /var/lib/zookeeper

五、启动 Kafka

1. 启动 ZooKeeper

sudo -u kafka /opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties

2. 启动 Kafka

sudo -u kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

3. 检查进程

jps

应看到:

QuorumPeerMain
Kafka

六、测试 Kafka

1. 创建 Topic

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

2. 查看 Topic

/opt/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092

3. 生产消息

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

4. 消费消息

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

七、设置开机自启(systemd)

1. ZooKeeper service

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

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

[Install]
WantedBy=multi-user.target

2. Kafka service

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

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

[Install]
WantedBy=multi-user.target

3. 启动并设置自启

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

八、常见问题

1. Kafka 启动慢

  • 检查 java -version
  • 关闭 swap(生产环境推荐)
sudo swapoff -a

2. 无法连接

  • 检查防火墙
sudo ufw allow 9092

3. Debian 无 systemd?

  • 使用 init.dsupervisor

九、KRaft 模式(无 ZooKeeper,推荐新项目)

如果你用的是 Kafka 3.x+,可以不用 ZooKeeper:

/opt/kafka/bin/kafka-storage.sh format \
  -t $(/opt/kafka/bin/kafka-storage.sh random-uuid) \
  -c /opt/kafka/config/kraft/server.properties

然后启动:

/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties

十、总结

✅ Debian Kafka 配置流程:

  1. 安装 Java
  2. 下载 Kafka
  3. 配置 ZooKeeper + Kafka
  4. 启动服务
  5. 测试生产与消费
  6. systemd 管理

如果你需要:

  • 集群部署
  • 外网访问
  • SSL / SASL 安全配置
  • Docker / Debian + Kafka + Spring Boot

可以直接告诉我你的使用场景。

0