温馨提示×

kafka在debian怎么配置

小樊
47
2026-09-19 01:12:11
栏目: 智能运维

下面给你一个**在 Debian 上配置 Kafka(以 Kafka 3.x + 自带 Zookeeper 为例)**的简明实操流程,适合单机/测试环境,也标注了生产要注意的地方。


一、环境准备

1. 安装 Java(Kafka 依赖 JVM)

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

二、下载并安装 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

三、配置 Kafka

1. Zookeeper 配置(默认即可)

/opt/kafka/config/zookeeper.properties

默认监听:

clientPort=2181

2. Kafka 服务配置

编辑:

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

关键配置(单机示例):

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

如果是远程访问,把 localhost 改成服务器 IP


四、启动 Kafka(测试方式)

1. 启动 Zookeeper

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

2. 启动 Kafka

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

五、系统服务方式(推荐)

1. Zookeeper systemd

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

[Service]
Type=simple
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 systemd

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

[Service]
Type=simple
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 --now zookeeper
sudo systemctl enable --now kafka

六、验证 Kafka

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

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

七、生产环境注意

  • 不用 Zookeeper(Kafka 3.x 支持 KRaft 模式)
  • log.dirs 放独立磁盘
  • 配置 num.partitions、default.replication.factor
  • 开启认证(SASL / SSL)

如果你愿意,我可以:

  • 给你 KRaft 模式配置
  • 或 Docker 部署 Kafka
  • 或 Kafka + 生产级参数模板

你现在是测试还是生产用?

0 踩