温馨提示×

debian装kafka怎么配置

小樊
39
2026-09-06 23:38:15
栏目: 智能运维

下面以 Debian 11/12 为例,一步一步说明 Kafka 的安装与基本配置(单机模式,生产可扩展为集群)。


一、环境准备

1. 安装 Java(Kafka 依赖 JVM)

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

验证:

java -version

二、下载并安装 Kafka

1. 创建目录并下载

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. Kafka 基础配置

配置文件位置:

/opt/kafka/config/server.properties

常用关键配置(示例):

# broker 唯一 ID(集群中不能重复)
broker.id=0

# 监听地址(本机)
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092

# 日志存储目录
log.dirs=/opt/kafka/logs

# Zookeeper 地址(Kafka 3.x 仍可用)
zookeeper.connect=localhost:2181

# topic 默认副本数(单节点为1)
default.replication.factor=1
num.partitions=1

创建日志目录:

sudo mkdir -p /opt/kafka/logs

四、启动 Kafka(含 Zookeeper)

1. 启动 Zookeeper

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

2. 启动 Kafka

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

查看进程:

jps

应能看到:

QuorumPeerMain
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. Kafka Service

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

[Install]
WantedBy=multi-user.target

2. Zookeeper Service

sudo nano /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
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. 启动

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

七、常见问题

  • 外网无法连接
    修改 advertised.listeners 为服务器 IP
  • 端口被占用
    检查 2181 / 9092
  • Kafka 3.x 可不使用 Zookeeper(KRaft)
    如需可单独说明

如果你需要:

  • ✅ 集群配置(多 broker)
  • ✅ KRaft 模式(无 Zookeeper)
  • ✅ 安全认证(SASL / SSL)
  • ✅ Docker 部署

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

0