温馨提示×

Debian部署Kafka有哪些步骤

小樊
43
2026-07-23 16:55:48
栏目: 智能运维

在 Debian 系统上部署 Apache Kafka,通常按以下步骤进行。以下以 Kafka 3.x + Debian 11/12 为例,适用于单机或基础集群部署。


一、前置准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖 JVM)

Kafka 需要 Java 8 或以上版本,推荐 Java 17。

sudo apt install -y openjdk-17-jdk

验证:

java -version

二、创建 Kafka 用户(可选但推荐)

sudo useradd -r -m -s /bin/bash kafka

后续操作可切换到该用户:

sudo su - kafka

三、下载并安装 Kafka

1. 下载 Kafka

前往官网获取最新版本(示例为 3.6.1):

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

2. 解压

sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 /opt/kafka

3. 设置权限

sudo chown -R kafka:kafka /opt/kafka

四、配置 Kafka

1. 配置 Zookeeper(Kafka 内置)

编辑配置文件:

vim /opt/kafka/config/zookeeper.properties

常见配置:

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

2. 配置 Kafka

编辑:

vim /opt/kafka/config/server.properties

关键配置项:

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

若是生产环境,注意:

  • listeners 改为服务器 IP
  • log.dirs 使用独立磁盘
  • 配置 num.partitionsretention

五、启动 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

3. 验证进程

jps

应看到:

QuorumPeerMain
Kafka

六、测试 Kafka 是否正常运行

1. 创建 Topic

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

2. 查看 Topic

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

3. 发送消息

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

4. 消费消息

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

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

1. 创建 Zookeeper 服务

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

[Service]
Type=simple
User=kafka
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=kafka
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 kafka
sudo systemctl start zookeeper kafka

八、常见问题

1. Kafka 启动失败

  • 检查 Java 是否正确安装
  • 检查 log.dirs 权限
  • 查看日志:
/opt/kafka/logs/server.log

2. 端口被占用

ss -lntp | grep 9092

九、生产环境建议

  • 使用 KRaft 模式(Kafka 3.x 可不用 Zookeeper)
  • 配置 JVM 堆内存
  • 使用独立磁盘
  • 配置防火墙和安全认证(SASL / TLS)

如果你需要:

  • KRaft 模式部署
  • 多节点集群
  • Docker / Debian + Kafka + Zookeeper
  • 生产环境参数优化

可以告诉我你的具体使用场景。

0