温馨提示×

Debian Kafka怎样设置

小樊
39
2026-10-03 21:57:06
栏目: 智能运维

下面给你一份在 Debian 上安装和配置 Apache Kafka的实用指南,适用于 Debian 11 / 12,Kafka 版本以 3.x(含 Kafka 自带 ZK) 为例。


一、环境准备

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装 Java(Kafka 需要 JDK)

sudo apt install -y openjdk-17-jdk

查看版本:

java -version

二、创建 Kafka 用户(推荐)

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

后续操作可在 kafka 用户下进行:

su - kafka

三、下载并安装 Kafka

1. 下载 Kafka

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

四、配置 Kafka

1. Zookeeper 配置(默认即可)

/opt/kafka/config/zookeeper.properties

默认端口:

clientPort=2181

2. Kafka 配置

/opt/kafka/config/server.properties

常见修改项:

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

创建日志目录:

mkdir -p /opt/kafka/logs

五、启动 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

测试时建议开两个终端


六、测试 Kafka

1. 创建 Topic

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

2. 生产消息

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

3. 消费消息

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

七、设置为 systemd 服务(推荐)

1. Zookeeper 服务

sudo nano /etc/systemd/system/zookeeper.service
[Unit]
Description=Apache 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-abnormal

[Install]
WantedBy=multi-user.target

2. Kafka 服务

sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=network.target 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-abnormal

[Install]
WantedBy=multi-user.target

3. 启动服务

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

八、防火墙(如开启)

sudo ufw allow 2181
sudo ufw allow 9092

九、常见问题

  • 无法连接 Kafka
    检查 advertised.listeners
  • Kafka 启动慢
    检查 /etc/hosts 是否正确解析 hostname
  • 生产环境建议
    • 使用 Kafka Raft(KRaft)替代 Zookeeper
    • 多 broker 部署

如果你告诉我:

  • 是 单机 / 集群
  • 是否 生产环境
  • 是否使用 KRaft 模式

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

0 踩