无法启动Secure ZooKeeper

时间:2015-09-22 07:48:51

标签: kerberos apache-zookeeper

我在official document之后为CDH 5.3.2安装了Kerberos。

我也跟着ZooKeeper Authentication配置了一个安全的ZooKeeper,我在其中执行了以下操作:
1)。为每个ZK服务器创建主体并导出其keytab文件;
2)。已配置相关文件,例如zoo.cfgjaas.confjava.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的校长的门票。

那是什么原因造成的?任何建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

我有同样的问题。我通过克罗德拉管理器在kerberos管理中重新生成zookeeper keytabs来解决它。我在CDH的5.5.1版本中做到了这一点。

我希望这能帮到某人

答案 1 :(得分: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和其他服务。