温馨提示×

如何在debian连kafka

小樊
40
2026-09-03 18:49:16
栏目: 智能运维

在 Debian 上“连 Kafka”通常分几种情况:

  • 你是客户端(用命令行或程序连 Kafka)
  • 你是要在 Debian 上搭建 Kafka 服务
  • 你是遇到连不上 Kafka的问题

下面按最常见的「在 Debian 上连接并使用 Kafka」来说明。


一、前置条件

1. 安装 Java(Kafka 依赖)

Kafka 需要 Java 8 及以上:

sudo apt update
sudo apt install -y default-jdk
java -version

二、方式一:使用 Kafka 命令行客户端(最常用)

1. 下载 Kafka

以 Kafka 3.x 为例:

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

2. 进入 Kafka 目录

cd /opt/kafka

三、连接已有 Kafka(不启动服务)

假设你已有 Kafka 服务,地址是:

192.168.1.100:9092

1. 创建 Topic

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

2. 发送消息(生产者)

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

输入消息后回车即可发送。

3. 消费消息(消费者)

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

四、方式二:在 Debian 本地启动 Kafka(测试用)

# 启动 Zookeeper(老版本需要)
bin/zookeeper-server-start.sh config/zookeeper.properties

# 新版本(Kafka 3.3+)可不用 Zookeeper
bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format -t <UUID> -c config/kraft/server.properties

# 启动 Kafka
bin/kafka-server-start.sh config/server.properties

本地连接:

--bootstrap-server localhost:9092

五、常见连接问题排查

1. 连接超时

  • 防火墙
sudo ufw allow 9092
  • Kafka 配置
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092

2. 主机名解析失败

/etc/hosts 添加:

192.168.1.100 kafka-host

3. 客户端版本不兼容

确保 Kafka 服务端和客户端大版本一致(如都是 3.x)


六、用 Python 连接(可选)

pip install kafka-python
from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers='192.168.1.100:9092')
producer.send('test', b'hello')

如果你能说明:

  • 连本地还是远程 Kafka
  • 命令行还是代码
  • 报错信息是什么

我可以直接帮你定位问题。

0