简单的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

卡夫卡客户端文件的内容是什么?