Ich bin mit Cloudera Kafka Version 0.9.0 zur Verfügung gestellt, und ich habe einen eigenen ProducerJava Producer nicht erkennen Eigenschaft „Partitioner.class“ Eigenschaft
geschrieben Ich füge die folgenden Eigenschaften zu meinem ProducerConfig:
Properties props = new Properties();
props.put("bootstrap.servers", brokers);
props.put("acks", "all");
//props.put("metadata.broker.list", this.getBrokers());
//props.put("serializer.class", "kafka.serializer.StringEncoder");
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");
props.put("partitioner.class", "com.vikas.MyPartitioner");
Allerdings
wenn ich mein Programm laufen lasse, erhalte ich diesen Fehler
16/08/23 18:00:33 INFO producer.ProducerConfig: ProducerConfig values:
value.serializer = class org.apache.kafka.common.serialization.StringSerializer
key.serializer = class org.apache.kafka.common.serialization.StringSerializer
block.on.buffer.full = true
retry.backoff.ms = 100
buffer.memory = 33554432
batch.size = 16384
metrics.sample.window.ms = 30000
metadata.max.age.ms = 300000
receive.buffer.bytes = 32768
timeout.ms = 30000
max.in.flight.requests.per.connection = 5
bootstrap.servers = [server01:9092, server02:9092]
metric.reporters = []
client.id =
compression.type = none
retries = 0
max.request.size = 1048576
send.buffer.bytes = 131072
acks = all
reconnect.backoff.ms = 10
linger.ms = 1
metrics.num.samples = 2
metadata.fetch.timeout.ms = 60000
16/08/23 18:00:33 WARN producer.ProducerConfig: The configuration partitioner.class = null was supplied but isn't a known config.
gemäß der Dokumentation auf http://kafka.apache.org/090/documentation.html#producerconfigs
Partitionierer, Klasse ist eine gültige Eigenschaft, aber ich bin mir nicht sicher, warum kafka sich darüber beschwert, dass es eine unbekannte Konfiguration ist.
Probieren Sie es als Klasse Wert vorbei, nicht string: 'props.put (" Partitionierungs. Klasse ", MyPartitioner.class)' – serejja
@serejja, Der Fehler sagt, es ist keine bekannte Konfiguration. –
@serejja, habe ich versucht, die Änderung, die Sie vorgeschlagen, aber immer noch bekomme ich den gleichen Fehler –