无法启动安全ZooKeeper

问题描述 投票:0回答:2

我按照这个官方文档安装了 CDH 5.3.2 的 Kerberos。

我还按照 ZooKeeper 身份验证 配置了安全的 ZooKeeper,我在其中执行了以下操作:
1)。为每个 ZK 服务器创建主体并导出其密钥表文件;
2)。配置相关文件,如

zoo.cfg
jaas.conf
java.env

但是当我尝试启动 ZK Cluster 时失败了。我检查了日志文件,它报告了以下异常:

2015-09-22 15:19:08,232 ERROR org.apache.zookeeper.server.quorum.QuorumPeerMain:意外异常,异常退出 java.io.IOException:无法配置服务器,因为 SASL 配置不允许 ZooKeeper 服务器正确验证自身:javax.security.auth.login.LoginException: 校验和失败 在org.apache.zookeeper.server.ServerCnxnFactory.configureSaslLogin(ServerCnxnFactory.java:207) 在org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:87) 在 org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:135) 在org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:116) 在org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:79)


校验和失败。我不知道这意味着什么。


我确信我的 Kerberized CDH 运行正常,因为我可以访问 HDFS 并提交 YARN 作业作为相应的主体。此外,我可以通过命令

kinit -k -t <path-to-keytab> <zookeeper/FQDN@REALM>
获取zookeeper委托人的票证。

那么是什么原因导致了这个问题呢?任何建议将不胜感激。

kerberos apache-zookeeper
2个回答
0
投票

我也有同样的问题。我通过在 Cloddra Manager 上的 kerberos 管理中重新生成 Zookeeper 密钥表来解决这个问题。我在 5.5.1 版本的 CDH 中做到了这一点。

我希望这对某人有帮助


0
投票

正如https://community.cloudera.com/t5/Cloudera-Manager-Installation/Kerberos-Authentication-Wizard-failing-to-generate-workable/m-p/25748#M4011中指出的,Cloudera管理器尝试使用tcp但 KDC 默认配置为仅使用 udp!供参考:https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/kdc_conf.html

解决方法:在 kdc.conf 中在

kdc_tcp_ports = 88
下面添加
kdc_ports = ...
(88 是 kerberos 的默认 tcp 端口)并重新启动服务:
service krb5-kdc restart
。现在手动启动zookeeper和其余服务。

© www.soinside.com 2019 - 2024. All rights reserved.