温馨提示×

debian安装kafka怎样设置

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

下面以 Debian 11/12 为例,说明 Kafka 的安装与基本配置(使用官方二进制包,最常用、最稳定)。


一、环境准备

1. 安装 Java

Kafka 依赖 JVM(推荐 Java 8 / 11 / 17)

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

验证:

java -version

二、下载并安装 Kafka

2. 创建用户(推荐)

sudo useradd -m -s /bin/bash kafka

3. 下载 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

4. 配置 Zookeeper(Kafka 3.x 仍可用)

cd /opt/kafka
vim config/zookeeper.properties

常用配置:

dataDir=/tmp/zookeeper
clientPort=2181

5. 配置 Kafka

vim 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

6. 启动 Zookeeper

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

7. 启动 Kafka

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

(生产环境建议后台运行)


五、测试 Kafka

8. 创建 Topic

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

9. 生产消息

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

10. 消费消息

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

六、使用 systemd(推荐)

11. Zookeeper 服务

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

[Service]
User=kafka
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

12. Kafka 服务

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

[Service]
User=kafka
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
sudo systemctl daemon-reload
sudo systemctl enable --now zookeeper
sudo systemctl enable --now kafka

七、KRaft 模式(无 Zookeeper,新版推荐)

如果你用 Kafka 3.3+,可不使用 Zookeeper:

bin/kafka-storage.sh format \
--config config/kraft/server.properties \
--cluster-id abcdefghijklmnopqrstuv
bin/kafka-server-start.sh config/kraft/server.properties

八、常见问题

  • 端口不通:检查防火墙
sudo ufw allow 9092
  • 不能远程连接:修改 advertised.listeners
  • 数据丢失:修改 log.dirs 到持久目录

如果你告诉我:

  • Debian 版本
  • 是否单机 / 集群
  • 是否用 Docker

我可以给你 更精确的配置方案。

0 踩