发生 ClassNotFoundException 异常:io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
代理启动失败,我可以看到以下错误:
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
INFO KafkaConfig values:
----------------------------
我对 server.properties
文件中的 属性(即 ssl.truststore.password
)之一进行了秘密设置,并尝试重新启动服务器并观察到上述错误。
如有任何帮助,我们将不胜感激。谢谢!!!
---server.properties---
##
ssl.truststore.password = ${securepass:/home/secret/secrets.txt:server.properties/ssl.truststore.password}
config.providers = securepass
config.providers.securepass.class = io.confluent.kafka.security.config.provider.SecurePassConfigProvider
Confluent Community version used - 5.5.2
Confluent Platform 5.5.2社区版没有自带class...
$ find ./confluent-5.5.2 -name 'kafka-client-plugins*.jar'
在此处下载文件并确保它位于 Kafka 代理 class路径中,例如/usr/share/java/kafka
如果直接安装到 OS,或 Confluent tarball 的 share/java/kafka
文件夹。
通过
验证
$ jar -tf kafka-client-plugins-5.5.2-ce.jar| grep SecurePassConfigProvider
io/confluent/kafka/security/config/provider/SecurePassConfigProvider.class
总的来说,如果有人可以访问您的代理的文件系统,您就会遇到更大的问题,并且使用对另一个文件的直接引用来掩盖文件并不“安全”
代理启动失败,我可以看到以下错误:
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
ERROR ClassNotFoundException exception occurred: io.confluent.kafka.security.config.provider.SecurePassConfigProvider (kafka.server.KafkaConfig)
INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
INFO KafkaConfig values:
----------------------------
我对 server.properties
文件中的 属性(即 ssl.truststore.password
)之一进行了秘密设置,并尝试重新启动服务器并观察到上述错误。
如有任何帮助,我们将不胜感激。谢谢!!!
---server.properties---
##
ssl.truststore.password = ${securepass:/home/secret/secrets.txt:server.properties/ssl.truststore.password}
config.providers = securepass
config.providers.securepass.class = io.confluent.kafka.security.config.provider.SecurePassConfigProvider
Confluent Community version used - 5.5.2
Confluent Platform 5.5.2社区版没有自带class...
$ find ./confluent-5.5.2 -name 'kafka-client-plugins*.jar'
在此处下载文件并确保它位于 Kafka 代理 class路径中,例如/usr/share/java/kafka
如果直接安装到 OS,或 Confluent tarball 的 share/java/kafka
文件夹。
通过
验证$ jar -tf kafka-client-plugins-5.5.2-ce.jar| grep SecurePassConfigProvider
io/confluent/kafka/security/config/provider/SecurePassConfigProvider.class
总的来说,如果有人可以访问您的代理的文件系统,您就会遇到更大的问题,并且使用对另一个文件的直接引用来掩盖文件并不“安全”