zookeeper配置kerberos

zookeeper配置kerberos

前提:安装好zookeeper和kerberos

 

步骤:

1、创建kerberos用户

kadmin.local 
addprinc zookeeper/es1      //es1主机名

2、生成zookeeper认证用户keytab

kadmin.local -q "xst  -k /usr/local/zookeeper/keytab/zk.keytab  zookeeper/es1@HADOOP.COM"

3、修改zookeeper下config目录的zoo.cfg,添加以下内容

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
jaasLoginRenew=3600000
kerberos.removeHostFromPrincipal=true
kerberos.removeRealmFromPrincipal=true

4、在zookeeper的conf目录创建zookeeper-jaas.conf文件

Server {
 com.sun.security.auth.module.Krb5LoginModule required
 useKeyTab=true
 keyTab="/usr/local/zookeeper/keytab/zk.keytab"
 storeKey=true
 useTicketCache=false
 principal="zookeeper/es1@HADOOP.COM";
}; 
Client {
 com.sun.security.auth.module.Krb5LoginModule required
 useKeyTab=true
 keyTab="/usr/local/zookeeper/keytab/zk.keytab"
 storeKey=true
 useTicketCache=false
 principal="zookeeper/es1@HADOOP.COM";
};

5、在zookeeper的conf目录创建java.env文件,添加以下内容

export JVMFLAGS="-Djava.security.auth.login.config=/usr/local/zookeeper/conf/zookeeper-jaas.conf"

6、启动zookeeper

bin/zkServer.sh start

7、验证kerberos

步骤4中,zookeeper-jaas.conf配置文件的Server是服务端认证配置,我们可以通过zookeeper  
启动日志看出是否经过认证

zookeeper-jaas.conf配置文件的Client是客户端认证配置,我们可以使用命令进入客户端:  
bin/zkCli.sh -server es1:2181
如果配置了Client,并且认证通过,日志可看出认证相关信息,否则认证失败,连接也不成功。
去掉Client配置,则不需要认证客户端即可连接zookeeper

 

 

 

zookeeper集群配置kerberks

后来在集群中配置了kerberos,集群和单机版的配置差不多,我就是在各个节点配置按单机配置一样的,遇到一些问题,记录下来:

1、集群中时钟需要保持一致,不能相差太大 

2、客户端连接命令使用 zkCli.sh  -server  es1:2181,不能直接zkCli.sh

3、困扰我最久的一个问题就是下图这个错误,最终在服务端的日志找到些眉目,原因是有些jdk不支持256秘钥的AES加解密,解决方法就是更换jdk安全策略jar,在jre/lib/security的local_policy.jar和US_export_policy.jar

服务端错误日志:

Client failed to SASL authenticate: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: Failure unspecified at GSS-API level (Mechanism level: Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled)]

翻译:客户端无法SASL身份验证:javax.security.sasl.saslexception:gss initiate failed[由gssException引起:在gss-api级别未指定失败(机制级别:不支持/启用加密类型为aes256 cts模式和hmac sha1-96)]

 

有问题可直接私聊QQ:596031785

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值