温馨提示×

如何在debian设kafka配

小樊
40
2026-09-06 23:52:16
栏目: 智能运维

下面按从零开始的方式,说明如何在 Debian 上安装并配置 Apache Kafka(以常见稳定版本为例,如 Kafka 3.x)。


一、环境准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖 JVM)

Kafka 3.x 需要 Java 8 或以上:

sudo apt install -y openjdk-17-jdk

验证:

java -version

二、安装 Kafka

方法一:官方二进制包(推荐)

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

2. 目录结构

/opt/kafka
 ├── bin
 ├── config
 ├── libs
 └── logs

三、配置 Kafka

1. 配置 Zookeeper(Kafka 3.7 仍可用)

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

常用配置:

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

创建数据目录:

sudo mkdir -p /opt/kafka/zookeeper-data

2. 配置 Kafka Server

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

关键配置:

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://<你的服务器IP>:9092
log.dirs=/opt/kafka/kafka-logs
zookeeper.connect=localhost:2181

创建日志目录:

sudo mkdir -p /opt/kafka/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

六、配置为系统服务(推荐)

1. Zookeeper 服务

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

[Service]
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=zookeeper.service

[Service]
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 zookeeper
sudo systemctl enable kafka
sudo systemctl start zookeeper
sudo systemctl start kafka

七、KRaft 模式(无 Zookeeper,可选)

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

/opt/kafka/bin/kafka-storage.sh random-uuid
/opt/kafka/bin/kafka-storage.sh format \
  --config /opt/kafka/config/kraft/server.properties \
  --cluster-id <UUID>

八、防火墙(如启用)

sudo ufw allow 9092
sudo ufw allow 2181

如果你需要:

  • 集群配置
  • SSL / SASL 安全
  • Docker 部署
  • Debian 12 特定问题

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

0