温馨提示×

debian下kafka怎样部署

小樊
39
2026-09-09 21:15:05
栏目: 智能运维

下面以 Debian 11/12 为例,给你一个 从零部署 Kafka(单机版,生产可用基础) 的完整流程。如果你需要 集群版Docker 部署,我也可以补充。


一、环境准备

1. 系统更新

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖 JVM)

Kafka 3.x 推荐 Java 17(也兼容 Java 11)

sudo apt install -y openjdk-17-jdk

验证:

java -version

二、下载并安装 Kafka

官方已内置 Zookeeper(Kafka 3.3+ 也可用 KRaft,但新手建议先用 Zookeeper)

1. 创建目录

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

2. 下载 Kafka

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

3. 解压

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_2.13-3.7.0.tgz

三、启动 Zookeeper(Kafka 依赖)

1. 启动 Zookeeper

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

后台运行:

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

四、配置并启动 Kafka

1. 修改 Kafka 配置

vim config/server.properties

常见必要修改:

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://你的服务器IP:9092
log.dirs=/opt/kafka/logs
num.partitions=3

创建日志目录:

mkdir -p /opt/kafka/logs

2. 启动 Kafka

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

五、基础测试(验证是否可用)

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

输入:

hello kafka

4. 消费消息(新终端)

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

能看到消息即部署成功 ✅


六、设置 systemd 开机自启(推荐)

1. Zookeeper 服务

sudo vim /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

2. Kafka 服务

sudo vim /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-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

七、防火墙(如启用)

sudo ufw allow 9092
sudo ufw allow 2181

八、常见问题

1. Kafka 起不来?

  • 检查 log.dirs 是否存在
  • 查看 kafka.log
  • Java 版本是否正确

2. 外网连不上?

  • advertised.listeners 必须写 真实 IP
  • 云服务器需开放安全组

九、可选进阶

  • Kafka 集群(3 broker)
  • KRaft 模式(无 Zookeeper)
  • Kafka + SASL 安全认证
  • Docker / K8s 部署

如果你告诉我: ✅ 是否集群
✅ 是否云服务器
✅ Debian 具体版本

我可以给你 更精准的部署方案

0