apache-kafka - Kafka 警告:sasl.jaas.config 应以 SASL 机制名称为前缀
问题描述
尽管我的 Kafka 集群运行良好,但所有节点都会打印以下警告:
WARN Server config sasl.jaas.config should be prefixed with SASL mechanism name,
ignoring config (org.apache.kafka.common.security.JaasContext)
这是我的server.properties
文件:
broker.id=0
zookeeper.connect=zk1.intra:2181,zk2.intra:2181,zk3.intra:2181
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
listeners=SASL_PLAINTEXT://:9092
security.inter.broker.protocol= SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";
super.users=User:admin
我正在使用 Kafka 2.5.1。
在 2.5.0 上使用完全相同的配置,没有这样的警告。
解决方案
从sasl.jaas.config的文档中:
对于代理,配置必须以侦听器前缀和小写的 SASL 机制名称作为前缀。例如,
listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;
在文档的示例中,该sasl.jaas.config
部分以 SASL 机制名称为前缀listener.name.sasl_ssl.scram-sha-256.
鉴于您的其余配置,您希望使用前缀listener.name.sasl_plaintext.plain.
。那是:
listener.name.sasl_plaintext.plain.sasl.jaas.config= org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin" user_admin="admin";
推荐阅读
- php - Acumatica REST 基于合同的 API 和 PHP Curl 错误已发生以创建数据
- android - Dagger 2:如果没有 @Inject 构造函数或 @Provides,则无法提供 ImagesRepo
- websocket - Spring Web Flux Websocket在数据接收到现有资源后推送
- c# - 如何对具有其他条件的方法进行单元测试?
- android - Ionic 3 中使用 JSON 响应的动态表单
- ruby-on-rails - 保存时Rails grouped_collection_select不起作用
- python-3.x - python-requests 无法下载图像,下载的图像为 0 字节
- regex - 使用正则表达式验证用户名
- java - 使用 driver.switchTo().window() 在 appium 中切换一个窗口,它会给出 org.openqa.selenium.WebDriverException
- c++ - 在检查子类型时专门化方法模板