具有Kerberos身份验证的Kafka Java Producer
在发布问题之前,我已经看过了这个问题。它使用0.8.0版本的卡夫卡制作人代码 我们使用的是具有Kerberos身份验证的Kafka Java Producer,java,apache-kafka,kafka-producer-api,Java,Apache Kafka,Kafka Producer Api,在发布问题之前,我已经看过了这个问题。它使用0.8.0版本的卡夫卡制作人代码 我们使用的是Kafka 0.9.0.1版本。由于我们的集群是使用Kerberos身份验证的安全集群。如何以编程方式设置Kerberos身份验证详细信息 当我试图发送消息时,消息没有到达卡夫卡主题。我通过从生产者Future获取异步send操作的结果来确认这一点,它抛出了超时异常 示例代码: Properties props = new Properties(); props.put("bootstrap
Kafka 0.9.0.1版本
。由于我们的集群是使用Kerberos身份验证的安全集群
。如何以编程方式设置Kerberos身份验证详细信息
当我试图发送消息时,消息没有到达卡夫卡主题。我通过从生产者Future
获取异步send
操作的结果来确认这一点,它抛出了超时异常
示例代码:
Properties props = new Properties();
props.put("bootstrap.servers", "1.2.3.4:6667");
props.put("acks", "all");
props.put("retries", 2);
// props.put("security.inter.broker.protocol","PLAINTEXTSASL");
props.put("security.protocol", "PLAINTEXTSASL");//WHEN I TRY THIS ITS THROWING ERROR
props.put("sasl.kerberos.service.name","zookeeper");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
try {
Producer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<String, String>("kafkaTest", "kafka test message"));
// Thread.sleep(4000);
// producer.close();
} catch (Exception e) {
e.printStackTrace();
}
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
at org.apache.kafka.clients.producer.KafkaProducer$FutureFailure.<init>(KafkaProducer.java:686)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:449)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:339)
at com.scb.upv.SimpleKafkaProducer.main(SimpleKafkaProducer.java:26)
Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
是否遵循设置kerberos身份验证的步骤?是否解决了此问题?是否遵循设置kerberos身份验证的步骤?是否解决了此问题?