0

我有一个 3 节点的 Kafka 集群。我已启用SASL_PLAINTEXT,它与 Port 一起工作正常6667。现在我想为同一个集群中的不同端口启用 SSL。我已启用 trustore 和 Keystore 证书。我从代理端做了以下配置。

listeners : SSL://localhost:6668
security.inter.broker.protocol : SSL
ssl.key.password : xxxx
ssl.keystore.location : /root/kafka.server.keystore.jks
ssl.keystore.password   : xxxxx
ssl.truststore.location   : /root/kafka.server.truststore.jks
ssl.truststore.password   : xxxxxx
ssl.keystore.type : JKS
ssl.truststore.type : JKS

我也给予了许可。我得到以下错误

Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Failed to load SSL keystore /root/kafka.server.keystore.jks of type JKS

Caused by: org.apache.kafka.common.KafkaException: Failed to load SSL keystore /root/kafka.server.keystore.jks of type JKS

Caused by: java.io.FileNotFoundException: /root/kafka.server.keystore.jks (Permission denied)
4

2 回答 2

0

引起:java.io.FileNotFoundException:/root/kafka.server.keystore.jks(权限被拒绝)

错误跟踪相当清晰。/root/kafka.server.keystore.jks进程无法访问。请注意,该过程通常在不同的用户上运行,我怀疑密钥库是由不同的用户创建的。


确保运行该进程的用户具有足够的读取权限/root/kafka.server.keystore.jks。实现此目的的一种方法是更改​​文件的所有权:

sudo chown -R userWhoRunsTheProcess:userGroup /root/kafka.server.keystore.jks
于 2020-03-16T10:42:38.237 回答
0

关于这个问题,听众拿了一个地址列表,

listeners : SSL://0.0.0.0:6668,SASL_PLAINTEXT://0.0.0.0;6667

你已经有 sasl,所以我建议使用 sasl_ssl

于 2020-03-16T12:45:25.233 回答