Python社区  »  zookeeper

当kafka服务器启动时,不能使用SSL的Zookeeper动态配置值

udayanga warathanna • 1 年前 • 432 次点击  

我试图在kafka中使用SSL配置。当我在server.properties文件中使用配置时,它可以正常工作。我需要使用/kafka-configs.sh在zookeeper中添加这些SSL配置值。即使我可以在zookeeper中添加这些配置,并且能够在kafka服务器启动时读取值,这些值也不会与kafka属性绑定。 我想添加ssl.keystore.location、ssl.keystore.password、ssl.key.password, ssl.truststore.location和ssl.truststore.password

在zookeeper运行时,我在终端中使用以下命令添加了动态配置。

/kafka folder/bin/kafka-configs.sh的路径--zookeeper localhost:2181--实体类型代理--实体名称0--alter--添加配置'password.encoder.secret=mysecret,listener.name.SASL_SSL.key.password=mypassword,listener.name.SASL_SSL.SSL.truststore.password=kspassword,listener.name.SASL_SSL.SSL.keystore.location=/path to kafka folder/config/SSL/localhost/node.ks,listener.name.SASL_SSL.SSL.keystore.password=kspassword,listener.name.SASL_SSL.SSL.truststore.location=/path to kafka folder/config/SSL/localhost/node.ts'

同时我在server.properties中添加了password.encoder.secret,如下所示,

password.encoder.secret=mysecret

成功添加配置后,我可以通过命令查看值,

/kafka folder/bin/kafka-configs.sh的路径--引导服务器本地主机:9092--实体类型代理--实体名称0--描述

当我使用以下命令启动kafka服务器时,我仍然可以看到配置值,但它们永远不会被应用。因此,我得到了SSL握手错误。

/路径到kafka folder/bin/kafka-server-start.sh/path到kafka folder/config/server.properties

当kafka服务器启动时,我可以看到下面的配置值

具有以下配置的entityPath:brokers/0的信息处理重写: 地图( listener.name.SASL_SSL.SSL.keystore.location->/指向kafka folder/config/SSL/localhost/node.ks的路径, listener.name.SASL_SSL.SSL.truststore.location->/指向kafka folder/config/SSL/localhost/node.ts的路径, listener.name.SASL_SSL.SSL.key.password->加密密码:hgR0pC…wer3ns:4096,密码长度:10, listener.name.SASL_SSL.SSL.keystore.password->加密密码:INz5FNy…siZ0eUSg==,迭代次数:4096,密码长度:10, ListEn.NS.SllsSl.RealStutsPosith-Posith≫加密口令:ZSKZSKMHXIF…OLGIZDSJUO7+A==,迭代:4096,密码长度:10 )(kafka.server.DynamicConfigManager)

我有以下错误,

ERROR [Controller id=0, targetBrokerId=0] Connection to node 0 (localhost/127.0.0.1:9094) failed authentication due to: SSL handshake failed (org.apache.kafka.clients.NetworkClient)

kafka配置值也是空的,

ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLS
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS

我期望值
ssl.key.password,ssl.keystore.location,ssl.keystore.password,ssl.truststore.location,ssl.truststore.password

而不是空值。另外,当我在server.properties中添加这些配置时,它可以正确地处理值,但是当动态地添加时,它永远不会工作

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49293
 
432 次点击  
分享到微博