简单的kafkaProducer程序在Java中不起作用
我不能让它工作。我试图将一个简单的测试消息推送到卡夫卡主题。下面是代码和错误简单的kafkaProducer程序在Java中不起作用,java,apache-kafka,Java,Apache Kafka,我不能让它工作。我试图将一个简单的测试消息推送到卡夫卡主题。下面是代码和错误 Properties props = new Properties(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "kafkaBrokerfqdn:6667"); props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SASL_PLAINTEXT"); props.p
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "kafkaBrokerfqdn:6667");
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SASL_PLAINTEXT");
props.put(ProducerConfig.ACKS_CONFIG, "all");
props.put(ProducerConfig.RETRIES_CONFIG, "3");
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
props.put("java.security.auth.login.config", "kafka_client_jaas.conf");
Producer<String, String> kProducer = new KafkaProducer<String, String>(props);
kProducer.send(new ProducerRecord<String, String>("test_topic", "testMessage"));
kProducer.close();
Properties=newproperties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,“kafkaBrokerfqdn:6667”);
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG,“SASL_明文”);
props.put(ProducerConfig.ACKS_CONFIG,“all”);
props.put(ProducerConfig.RETRIES_CONFIG,“3”);
put(ProducerConfig.VALUE\u SERIALIZER\u CLASS\u CONFIG,“org.apache.kafka.common.serialization.StringSerializer”);
put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,“org.apache.kafka.common.serialization.StringSerializer”);
put(“java.security.auth.login.config”、“kafka_client_jaas.conf”);
制作人kProducer=新卡夫卡制作人(道具);
kProducer.send(新产品记录(“测试主题”、“测试消息”);
kProducer.close();
下面是我面临的错误。我已经将jaas conf放在与jar相同的目录中
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:338)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:188)
at com.training.KProducer.main(KProducer.java:34)
Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Jaas configuration not found
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:86)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:71)
at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:85)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:302)
... 2 more
Caused by: org.apache.kafka.common.KafkaException: Jaas configuration not found
at org.apache.kafka.common.security.kerberos.KerberosLogin.getServiceName(KerberosLogin.java:299)
at org.apache.kafka.common.security.kerberos.KerberosLogin.configure(KerberosLogin.java:103)
at org.apache.kafka.common.security.authenticator.LoginManager.<init>(LoginManager.java:45)
at org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:68)
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:78)
... 5 more
Caused by: java.io.IOException: Could not find a 'KafkaClient' entry in this configuration.
at org.apache.kafka.common.security.JaasUtils.jaasConfig(JaasUtils.java:50)
at org.apache.kafka.common.security.kerberos.KerberosLogin.getServiceName(KerberosLogin.java:297)
... 9 more
线程“main”org.apache.kafka.common.KafkaException中的异常:无法构造kafka生产者
位于org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:338)
位于org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:188)
位于com.training.KProducer.main(KProducer.java:34)
原因:org.apache.kafka.common.KafkaException:org.apache.kafka.common.KafkaException:Jaas配置未找到
位于org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:86)
位于org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:71)
位于org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:85)
位于org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:302)
... 还有两个
原因:org.apache.kafka.common.KafkaException:未找到Jaas配置
位于org.apache.kafka.common.security.kerberos.KerberosLogin.getServiceName(KerberosLogin.java:299)
位于org.apache.kafka.common.security.kerberos.KerberosLogin.configure(KerberosLogin.java:103)
位于org.apache.kafka.common.security.authenticator.LoginManager.(LoginManager.java:45)
位于org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:68)
位于org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:78)
... 还有5个
原因:java.io.IOException:在此配置中找不到“KafkaClient”条目。
位于org.apache.kafka.common.security.JaasUtils.jaasConfig(JaasUtils.java:50)
位于org.apache.kafka.common.security.kerberos.KerberosLogin.getServiceName(KerberosLogin.java:297)
... 9更多
java.security.auth.login.config是一个系统属性。您应该将其作为参数传递给JVM,生产者在JVM中运行
-Djava.security.auth.login.config=${CONFIG_HOME}/kafka_client_jaas.conf
卡夫卡客户端文件的内容是什么?