温馨提示×

linux kafka怎么连接

小樊
35
2026-09-26 12:46:27
栏目: 智能运维

在 Linux 上“连接 Kafka”通常分几种场景,我先按最常见情况给你说明,然后给你实操命令。


一、前提条件

  1. 已安装并启动:
    • Zookeeper(老版本 Kafka 需要)
    • Kafka Broker
  2. 知道:
    • Kafka 地址(如 localhost:9092 或 192.168.1.10:9092)
    • Topic 名称

二、使用 Kafka 自带命令行连接(最常用)

1️⃣ 启动 Kafka(示例)

# 启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

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

2️⃣ 创建 Topic

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

3️⃣ 生产消息(连接并发送)

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

然后输入消息回车即可。


4️⃣ 消费消息(连接并接收)

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

✅ 这就完成了「Linux Kafka 连接」


三、用 Java 连接 Kafka(代码方式)

Maven 依赖

<dependency>
  <groupId>org.apache.kafka</groupId>
  <artifactId>kafka-clients</artifactId>
  <version>3.6.0</version>
</dependency>

生产者示例

Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

KafkaProducer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("test", "hello kafka"));
producer.close();

四、远程连接 Kafka 常见问题

❌ 连不上常见原因

  1. server.properties 中:
    listeners=PLAINTEXT://0.0.0.0:9092
    advertised.listeners=PLAINTEXT://你的IP:9092
    
  2. 防火墙未开放 9092
    firewall-cmd --add-port=9092/tcp --permanent
    firewall-cmd --reload
    

五、你可以告诉我

  • ✅ 是 本地还是远程
  • ✅ 用 命令行 / Java / Python / Go
  • ✅ Kafka 版本

我可以直接给你对应可用的连接配置。

0 踩