温馨提示×

kafka生产者debian咋配

小樊
41
2026-09-19 01:22:11
栏目: 智能运维

下面给你一份在 Debian 上配置 Kafka 生产者 的常见做法,从环境到示例都覆盖,适合新手。


一、前提条件(Debian)

1. 安装 Java

Kafka 依赖 Java(推荐 JDK 8 / 11 / 17)

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

2. 安装 Kafka(Debian)

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

二、启动 Kafka(本地测试)

1. 启动 Zookeeper(老版本)

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

2. 启动 Kafka Broker

/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties

Kafka 3.x 也可使用 KRaft(无 Zookeeper),但新手建议先用 Zookeeper 模式


三、创建 Topic

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

四、命令行生产者(最简单)

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

输入消息回车即可发送。


五、Java 生产者配置(最常用)

1. Maven 依赖

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

2. 生产者示例代码

import org.apache.kafka.clients.producer.*;

import java.util.Properties;

public class KafkaProducerDemo {
    public static void main(String[] args) {
        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");

        Producer<String, String> producer = new KafkaProducer<>(props);

        ProducerRecord<String, String> record =
                new ProducerRecord<>("test-topic", "key1", "hello kafka");

        producer.send(record, (metadata, exception) -> {
            if (exception == null) {
                System.out.println("发送成功: " + metadata);
            } else {
                exception.printStackTrace();
            }
        });

        producer.close();
    }
}

六、常见生产者配置项(Debian / 生产环境)

acks=all
retries=3
linger.ms=5
batch.size=16384
compression.type=snappy

示例:

props.put("acks", "all");
props.put("retries", 3);
props.put("linger.ms", 5);

七、远程 Kafka(非 localhost)

修改:

props.put("bootstrap.servers", "192.168.1.100:9092");

并确保:

  • Kafka server.properties 中:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://服务器IP:9092
  • Debian 防火墙放行 9092

如果你是想问:

  • ✅ Python 生产者
  • ✅ systemd 后台运行 Kafka
  • ✅ SSL / SASL 认证
  • ✅ Docker 中的 Kafka

告诉我你具体场景,我直接给你对应配置。

0 踩