kafka java api自动创建topic

Demi Y 发表于: 2019-08-21   最后更新时间: 2019-08-21  

我的kafka集群配置设置了

auto.create.topics.enable=false

集群版本kafka_2.11-0.10.0.0

kafka集群虽然配置了auto.create.topics.enable=false,但是通过api produce 仍然会自动创建不存在的topic

以下是api:

public class Producer {
    public static void main(String[] args) {
         Properties props = new Properties();
         props.put("bootstrap.servers", "10.5.11.11:9093");
         props.put("acks", "all");
         props.put("retries", 0);
         props.put("batch.size", 16384);
         props.put("linger.ms", 1);
         props.put("buffer.memory", 33554432);
         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);
         for(int i = 0; i < 100; i++)
             producer.send(new ProducerRecord<String, String>("test", Integer.toString(i), Integer.toString(i)));
         producer.close();
    }
}


您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容




Demi Y 发表于: 25天前   最后更新时间: 25天前   游览量:232

上一条: 大神,程序中kafka消费者如何停止进程啊?C# Confluent.Kafka的dll
下一条: 你好,我想问下kafka的消费者的组号如何定义?

  • 这不会,修改好自动创建之后,重启kafka了吗

    • 重启了,仍然可以通过api自动创建,不清楚问题在哪,有什么办法能看到目前集群的生效配置么?或者api在操作时候有什么配置可以优先于集群配置的么

        • broker.id=173
          listeners=PLAINTEXT://1.2.1.173:9093
          num.network.threads=32
          num.io.threads=8
          socket.send.buffer.bytes=102400
          socket.receive.buffer.bytes=102400
          socket.request.max.bytes=104857600
          log.dirs=/opt/appdata/kafka-data
          num.partitions=1
          num.recovery.threads.per.data.dir=1
          log.retention.hours=120
          log.retention.bytes=128849018880
          log.segment.bytes=1073741824
          log.retention.check.interval.ms=300000
          zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka
          zookeeper.connection.timeout.ms=6000
          delete.topic.enable=true
          auto.create.topics.enable=false