温馨提示×

Debian怎么设置Kafka

小樊
35
2026-07-11 15:25:40
栏目: 智能运维

下面给你一个在 Debian 系统上安装和配置 Apache Kafka 的完整流程,适用于 Debian 11 / 12,默认使用 Kafka 自带 Zookeeper(适合学习和测试环境)。


一、准备环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖)

Kafka 需要 JDK 8+,推荐 JDK 11 或 17。

sudo apt install openjdk-17-jdk -y

验证:

java -version

二、下载并安装 Kafka

1. 创建安装目录

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

2. 下载 Kafka(推荐 3.x)

wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz

2.13 是 Scala 版本,不影响使用

3. 解压

tar -xzf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1/* .
rm -rf kafka_2.13-3.6.1*

三、启动 Zookeeper 和 Kafka

1. 启动 Zookeeper

nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

2. 启动 Kafka

nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

检查是否启动:

jps

应看到:

QuorumPeerMain
Kafka

四、Kafka 基本配置(可选)

1. 修改 Kafka 监听地址

编辑:

nano config/server.properties

常见修改:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://你的IP:9092

保存后重启 Kafka。


五、测试 Kafka 是否可用

1. 创建 Topic

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

2. 查看 Topic

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

3. 发送消息

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

输入内容后回车。

4. 消费消息

新开一个终端:

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

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

1. 创建 systemd 服务(Zookeeper)

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

[Service]
Type=simple
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

2. 创建 Kafka 服务

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

[Service]
Type=simple
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

3. 启动并设置开机自启

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

查看状态:

systemctl status kafka

七、防火墙(如有)

sudo ufw allow 9092
sudo ufw allow 2181

八、常见问题

1. Kafka 启动慢

  • 检查 Java 版本
  • 检查 server.propertieslog.dirs 目录权限

2. 无法连接 Kafka

  • 检查 advertised.listeners
  • 检查防火墙
  • 检查 localhost / IP 是否一致

九、生产环境建议

  • ✅ 使用 Kafka 3.x + KRaft(无 Zookeeper)
  • ✅ 单独磁盘存放 log.dirs
  • ✅ JVM 参数调优
  • ✅ 使用 systemd + 日志管理

如果你需要:

  • KRaft 模式(无 Zookeeper)
  • Debian + Docker 部署
  • Kafka + Python / Java / Go 示例
  • 集群部署

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

0