温馨提示×

怎样配Debian的Kafka

小樊
38
2026-10-03 21:49:09
栏目: 智能运维

下面给你一份**在 Debian 上配置 Kafka(以 Kafka 3.x + 自带 Zookeeper 为例)**的实用步骤,适合新手和测试/生产初期使用。


一、环境准备

1. 系统要求

  • Debian 11 / 12
  • Java 8 或 Java 11(推荐 Java 11)

2. 安装 Java

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

java -version

二、下载并安装 Kafka

1. 创建目录

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

2. 下载 Kafka

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

三、配置 Zookeeper(Kafka 自带)

1. 编辑配置

vim config/zookeeper.properties

常用配置:

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

2. 创建数据目录

mkdir -p /opt/kafka/zookeeper-data

四、配置 Kafka

1. 编辑 server.properties

vim config/server.properties

最小可用配置(单机)

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/opt/kafka/kafka-logs
zookeeper.connect=localhost:2181
num.partitions=3
default.replication.factor=1

如果是服务器,建议把 localhost 换成服务器 IP 或域名

2. 创建日志目录

mkdir -p /opt/kafka/kafka-logs

五、启动 Kafka

1. 启动 Zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties

2. 启动 Kafka

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

生产环境建议用 nohup 或 systemd 后台运行


六、基本测试

1. 创建 Topic

bin/kafka-topics.sh --create \
  --topic test \
  --bootstrap-server localhost:9092 \
  --partitions 3 \
  --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

七、用 systemd 管理(推荐)

1. Zookeeper

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

[Install]
WantedBy=multi-user.target

2. Kafka

sudo vim /etc/systemd/system/kafka.service
[Unit]
Description=Kafka
After=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

[Install]
WantedBy=multi-user.target

3. 启动

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

八、常见问题

  • 端口占用:检查 2181 / 9092
  • 无法连接:检查 advertised.listeners
  • Java 版本不对:Kafka 3.x 不支持 Java 8 以下

如果你需要:

  • ✅ KRaft 模式(无 Zookeeper)
  • ✅ 集群配置
  • ✅ 安全认证(SASL / SSL)
  • ✅ Docker / Debian 12 特定问题

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

0 踩