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

Kafka代理 SSL - 无身份验证异常 - 守护者错误代码 NoAuth 为 /brokers/ids

白念
2023-03-14

我在实现SSL for Broker to Zookeeper Authentication时,在代理2节点上出现了以下异常

从 SSL 设置中,群集配置了 SSL 身份验证

代理1成功连接到zookeeper,但在代理2上,存在异常org . Apache . zookeeper . keeper exception $ NoAuthException:KeeperErrorCode = no auth for/brokers/ids

在我停止代理1并将代理2连接到zookeeper的同时,连接正在工作。问题是一个Kafka只连接到动物园管理员,另一个Kafka不同时连接。

节点 1:Kafka1 和动物园管理员 节点 2:Kafka2

配置文件:

动物园管理员. properties

clientPort=2181
secureClientPort=2182
authProvider.x509=org.apache.zookeeper.server.auth.X509AuthenticationProvider
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.trustStore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.zookeeper.truststore.jks
ssl.trustStore.password=123456
ssl.keyStore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.zookeeper.keystore.jks
ssl.keyStore.password=123456
ssl.clientAuth=need
maxClientCnxns=0
admin.enableServer=false
server.1=localhost:2888:3888

KAFKA1属性(KAFKA运行在相同的zookeeper计算机上)服务器-0.properties

broker.id=0
listeners=SASL_SSL://172.31.70.27:9092
advertised.listeners=SASL_SSL://1172.31.70.27:9092
zookeeper.connect=172.31.70.27:2182
zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
zookeeper.ssl.client.enable=true
zookeeper.ssl.protocol=TLSv1.2
zookeeper.ssl.truststore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker0.truststore.jks
zookeeper.ssl.truststore.password=123456
zookeeper.ssl.keystore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker0.keystore.jks
zookeeper.ssl.keystore.password=123456
zookeeper.set.acl=true
ssl.truststore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker0.truststore.jks
ssl.truststore.password=Change@Ro0t
ssl.keystore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker0.keystore.jks
ssl.keystore.password=Change@Ro0t
ssl.key.password=Change@Ro0t
security.inter.broker.protocol=SASL_SSL
ssl.client.auth=none
ssl.protocol=TLSv1.2
sasl.enabled.mechanisms=SCRAM-SHA-512
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
listener.name.sasl_ssl.scram-sha-512.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="broker-admin" password="dev1234";
super.users=User:broker-admin
authorizer.class.name=kafka.security.authorizer.AclAuthorizer

Kafka2 属性(Kafka在另一台计算机上运行)

server-1属性

broker.id=1
listeners=SASL_SSL://172.31.76.221:9093
advertised.listeners=SASL_SSL://1172.31.76.221:9093
zookeeper.connect=172.31.70.27:2182
zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
zookeeper.ssl.client.enable=true
zookeeper.ssl.protocol=TLSv1.2
zookeeper.ssl.truststore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker0.truststore.jks
zookeeper.ssl.truststore.password=123456
zookeeper.ssl.keystore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker0.keystore.jks
zookeeper.ssl.keystore.password=123456
zookeeper.set.acl=true
ssl.truststore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker1.truststore.jks
ssl.truststore.password=Change@Ro0t
ssl.keystore.location=/opt/kafka_2.13-2.5.0/ssl/kafka.broker1.keystore.jks
ssl.keystore.password=Change@Ro0t
ssl.key.password=Change@Ro0t
security.inter.broker.protocol=SASL_SSL
ssl.client.auth=none
ssl.protocol=TLSv1.2
sasl.enabled.mechanisms=SCRAM-SHA-512
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
listener.name.sasl_ssl.scram-sha-512.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="broker-admin" password="dev1234";
super.users=User:broker-admin
authorizer.class.name=kafka.security.authorizer.AclAuthorizer

你能帮忙吗,除了以下例外,经纪人关闭的原因是什么?

[2021-05-13 10:44:37,659] INFO Session establishment complete on server ip-172-31-45-2.ec2.internal/172.31.45.2:2182, sessionid = 0x100009398f40002, negotiated timeout = 18000 (org.apache.zookeeper.ClientCnxn)
[2021-05-13 10:44:37,663] INFO [ZooKeeperClient Kafka server] Connected. (kafka.zookeeper.ZooKeeperClient)
[2021-05-13 10:44:37,801] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /brokers/ids
[2021-05-13 10:44:37,804] INFO shutting down (kafka.server.KafkaServer)
[2021-05-13 10:44:37,808] INFO [ZooKeeperClient Kafka server] Closing. (kafka.zookeeper.ZooKeeperClient)
[2021-05-13 10:44:37,814] INFO channel is told closing (org.apache.zookeeper.ClientCnxnSocketNetty)
[2021-05-13 10:44:37,816] INFO EventThread shut down for session: 0x100009398f40002 (org.apache.zookeeper.ClientCnxn)
[2021-05-13 10:44:37,816] INFO Session: 0x100009398f40002 closed (org.apache.zookeeper.ZooKeeper)
[2021-05-13 10:44:37,817] INFO channel is disconnected: [id: 0x5856be9a, L:/172.31.45.2:52900 ! R:ip-172-31-45-2.ec2.internal/172.31.45.2:2182] (org.apache.zookeeper.ClientCnxnSocketNetty)
[2021-05-13 10:44:37,817] INFO channel is told closing (org.apache.zookeeper.ClientCnxnSocketNetty)
[2021-05-13 10:44:37,825] INFO [ZooKeeperClient Kafka server] Closed. (kafka.zookeeper.ZooKeeperClient)
[2021-05-13 10:44:37,828] INFO shut down completed (kafka.server.KafkaServer)

共有1个答案

巫马自明
2023-03-14

我没有看到任何broker.id设置。您应该在代理配置文件中指定两个不同的代理ID。

 类似资料:
  • 问题内容: 我正在尝试通过FTP SITE代理访问FTP服务器以绕过防火墙,因为我知道我的用户名/密码正确,因为可以使用FileZilla进行连接。我尝试使用,但没有用。码: 给我这个错误: 我尝试过的事情: 使用备用构造函数。 拆下 使用just ,不使用FTPProxyConnector 设置连接器之前进行身份验证,反之亦然。 但是,当我仅使用Authenticator时,会收到不同的错误提示

  • 我目前正在使用SSL身份验证配置Apache Kafka,在启动服务时遇到错误。代理程序似乎启动正确(似乎发生了领导人选举等),但一旦开始执行任何集群操作,我就会在日志中不断看到下面的错误。 尝试重新创建密钥和信任存储,尝试从代理间侦听器中删除SSL(这会导致匿名主体,我不想授予对任何资源的访问权)。 要解释我的配置: 使用SSL principal builder运行Kafka 2.2 我设置了

  • 我尝试在 Kubernetes 集群中使用 Strimzi (0.14) 构建一个 Kafka 集群。 我使用strimzi附带的示例,即examples/kafka/kafka-persistent.yaml。 这个yaml文件看起来像这样: 动物园管理员和Kafka经纪人都被抚养长大 然而,我在kafka代理日志中看到了错误: 有人知道如何解决这个问题吗?

  • 我试图设置2方式ssl身份验证。我的要求是经纪人应该只认证特定的客户。 我的组织有一个CA,它发行pkcs12格式的所有证书。我遵循的步骤如下。 获取代理的证书,并在代理密钥库中配置它 当我运行代理和客户端时,我希望代理验证客户端并建立ssl连接。但是下面的错误被抛出。 当我用只包含CA证书的信任存储文件替换 /etc/pki/java/cacerts代理信任存储时,它工作得很好。但是它将验证任何

  • 身份验证工作正常,但是,每次我使用错误的密码登录时,我会得到以下异常,而不是密码锁定异常。我认为Spring LDAP在对用户进行身份验证时并没有检查PwdPolicy(计算密码尝试)。 ne=(javax.naming.authenticationexception)javax.naming.authenticationexception:[LDAP:错误代码49-invalid_credent

  • 问题内容: 我收到错误 NOAUTH必需的身份验证 。我的laravel版本是5.3,我正在使用predis 1.1.1连接redis。 在etc / redis / redis.conf中,我有: 在.env文件中 在config / database.php中,我有: 我通过以下方式连接redis: 并像这样使用它: 因此,当我注释掉并将密码发送为null时,它可以工作,但在密码到位后却无法工