温馨提示×

debian安装kafka怎么设置

小樊
35
2026-09-25 04:17:42
栏目: 智能运维

下面以 Debian 11/12 为例,说明如何安装并配置 Apache Kafka(以官方二进制包方式,最常用、最稳定)。


一、环境准备

1. 安装 Java

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

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

验证:

java -version

二、下载并安装 Kafka

1. 创建目录

sudo mkdir -p /opt/kafka
cd /opt/kafka

2. 下载 Kafka

(以 3.7.0 为例,可去官网替换版本)

wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0/* .
rm -rf kafka_2.13-3.7.0

三、配置 Kafka

1. 配置 Zookeeper(Kafka 3.0 前需要)

Kafka 3.x 默认仍可用 Zookeeper

编辑:

nano config/zookeeper.properties

常见配置:

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

创建目录:

mkdir /opt/kafka/zookeeper-data

2. 配置 Kafka

nano config/server.properties

关键配置:

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

创建日志目录:

mkdir /opt/kafka/kafka-logs

四、启动 Kafka

1. 启动 Zookeeper

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

2. 启动 Kafka

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

(建议用 nohup 或 systemd 后台运行)


五、设为 systemd 服务(推荐)

1. Zookeeper

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

[Install]
WantedBy=multi-user.target

2. Kafka

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

[Install]
WantedBy=multi-user.target

3. 启动

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

六、测试 Kafka

创建 Topic

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

生产消息

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

消费消息

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

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

如果你用的是 Kafka 3.3+,可以使用 KRaft:

bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format -t <UUID> -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties

八、常用问题

  • 外网无法连接 → 检查 advertised.listeners
  • 端口被占用 → 检查 9092 / 2181
  • 内存不足 → 修改 bin/kafka-server-start.sh 中 KAFKA_HEAP_OPTS

如果你告诉我:

  • Debian 版本
  • Kafka 版本
  • 是否用 Zookeeper / KRaft
  • 单机还是集群

我可以给你 精确配置文件 + 生产级参数。

0 踩