当前位置: 首页 > 知识库问答 >
问题:

在JAAS配置中找不到“KafKaclient”条目。未从Kafka rest代理设置系统属性“java.security.auth.login.config”

冀崇凛
2023-03-14

TLS加密:已启用

客户与经纪人之间

TLS加密:已启用

zookeeper.connect=z-3.msk.xxxx.xx.xxxxxx-1.amazonaws.com:2181,z-1.msk.xxxx.xx.xxxxxx-1.amazonaws.com:2181
bootstrap.servers=b-1.msk.xxxx.xx.xxxxxx-1.amazonaws.com:9096,b-2.msk.xxxx.xx.xxxxxx-1.amazonaws.com:9096
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="username" password="password";
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-512
ssl.truststore.location=/tmp/kafka.client.truststore.jks
KafkaClient {
  org.apache.kafka.common.security.scram.ScramLoginModule required
  username="username"
  password="password";
};
export KAFKA_OPTS=-Djava.security.auth.login.config=/home/ec2-user/confluent-6.1.1/rest-jaas.properties

在此之后,我使用以下命令启动了Kafka rest代理:

./kafka-rest-start /home/ec2-user/confluent-6.1.1/etc/kafka-rest/kafka-rest.properties

但是,当我试图通过从Postman:Post:http://ip_of_ec2instance:8082/topics/TestTopic调用服务将事件放到TestTopic上时,我得到了500个错误。但是在EC2实例中,我可以看到错误:

Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:441)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:291)
    at io.confluent.kafkarest.ProducerPool.buildNoSchemaProducer(ProducerPool.java:120)
    at io.confluent.kafkarest.ProducerPool.buildBinaryProducer(ProducerPool.java:106)
    at io.confluent.kafkarest.ProducerPool.<init>(ProducerPool.java:71)
    at io.confluent.kafkarest.ProducerPool.<init>(ProducerPool.java:60)
    at io.confluent.kafkarest.ProducerPool.<init>(ProducerPool.java:53)
    at io.confluent.kafkarest.DefaultKafkaRestContext.getProducerPool(DefaultKafkaRestContext.java:54)
    ... 64 more
Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
    at org.apache.kafka.common.security.JaasContext.defaultContext(JaasContext.java:141)
    at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:106)
    at org.apache.kafka.common.security.JaasContext.loadClientContext(JaasContext.java:92)
    at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:139)
    at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:74)
    at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:120)
    at org.apache.kafka.clients.producer.KafkaProducer.newSender(KafkaProducer.java:449)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:430)
    ... 71 more

我还可以在ProducerConfig值中看到sasl.jaas.config=null值。

有人能帮我做这个吗。提前感谢!

共有1个答案

戚峻
2023-03-14

问题终于解决了。我在这里更新修复程序,以便对某人有利:

kafka-ret.properties文件应包含以下文本:

zookeeper.connect=z-3.msk.xxxx.xx.xxxxxx-1.amazonaws.com:2181,z-1.msk.xxxx.xx.xxxxxx-1.amazonaws.com:2181
bootstrap.servers=b-1.msk.xxxx.xx.xxxxxx-1.amazonaws.com:9096,b-2.msk.xxxx.xx.xxxxxx-1.amazonaws.com:9096
client.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="username" password="username";
client.security.protocol=SASL_SSL
client.sasl.mechanism=SCRAM-SHA-512

既不需要创建文件rest-jaas.properties,也不需要导出KAFKA_OPTS。

 类似资料:
  • 我在一个简单的Kafka消费程序中遇到了一些问题: 这些是我的财产: 我了解到这可能是一个与jaas相关的问题。但是我对Kafka还不熟悉,我不知道怎么找到它。。 你能帮帮我吗?谢谢你!

  • 问题内容: 配置 : Spring 2.5,Junit 4,Log4j 从系统属性中指定log4j文件位置 在运行时,使用-D java选项设置系统属性。一切都很好。 问题/我需要什么: 在单元测试时,未设置系统属性,并且文件位置未解析。 App使用Spring,想简单地配置Spring以 设置 系统属性。 更多信息: 要求仅用于配置。无法引入新的Java代码或IDE中的条目。理想情况下,Spri

  • 问题内容: 我刚刚在Mac OS X上安装了Maven 3.3.1,并且使用Eclipse构建Maven项目给了我这个错误: Maven 3.2.5之前从未发生过。 有什么方法可以解决此问题(降级到3.2.5除外)? 我在哪里可以在Eclipse中准确设置此“ multiModuleProjectDirectory”属性? 问题答案: 在你需要这样去。 在编辑中,您需要输入 如果您已经将Maven

  • cmf_set_option($key, $data, $replace = false) 功能 设置系统配置,通用 参数 $key: string 配置键值,都小写 $data: array 配置值,数组 $replace: array 是否完全替换 返回 bool 是否成功

  • X2.2.0新增 sp_set_option($key,$data) 功能: 设置系统配置,通用 参数: $key: 配置的键名,英文下划线小写,最好加上自己的应用或插件名作为前级 $data:配置的值,数组 返回: 类型boolean,true设置成功 使用: $result = sp_set_option('portal_custom_settings',array('test'=>1));

  • 问题内容: 在控制台上运行演示JSF应用程序时出现以下错误 问题答案: 这不是错误。这是一个警告。差异非常大。该特定警告基本上意味着中的元素包含未知属性,并且Tomcat不知道如何处理该属性,因此将忽略它​​。 Eclipse WTP将自定义属性添加source到Tomcat中与项目相关的元素,该属性标识上下文的源(工作空间中的实际项目,该项目已部署到特定服务器)。这样,Eclipse可以将部署的