配置两个Hadoop集群Kerberos认证跨域互信
两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Realm A上的Ticket实现访问Realm B的服务)。
先决条件:
1)两个集群(IDC.COM和HADOOP.COM)均开启Kerberos认证
2)Kerberos的REALM分别设置为IDC.COM和HADOOP.COM
步骤如下:
1 配置KDC之间的信任ticket
实现DIDC.COM和HADOOP.COM之间的跨域互信,例如使用IDC.COM的客户端访问HADOOP.COM中的服务,两个REALM需要共同拥有名krbtgt/HADOOP.COM@IDC.COM的principal,两个Keys需要保证密码,version number和加密方式一致。
默认情况下互信是单向的, HADOOP.COM的客户端访问IDC.COM的服务,两个REALM需要有krbtgt/IDC.COM@HADOOP.COM的principal。
向两个集群中添加krbtgt principal
#IDC CLUSTER
kadmin.local: addprinc –e “aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal ” krbtgt/HADOOP.COM@IDC.COM
kadmin.local: addprinc –e “aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal ” krbtgt/IDC.COM@HADOOP.COM
#HADOOP CLUSTER
kadmin.local: addprinc –e “aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal ” krbtgt/HADOOP.COM@IDC.COM
kadmin.local: addprinc –e “aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal ” krbtgt/IDC.COM@HADOOP.COM
要验证两个entries具有匹配的kvno和加密type,查看命令使用getprinc
kadmin.local: getprinc krbtgt/IDC.COM@HADOOP.COM
Principal: krbtgt/IDC.COM@HADOOP.COM
Expiration date: [never]
Last password change: Wed Jul 05 14:18:11 CS

本文介绍如何配置两个Hadoop集群间的Kerberos认证跨域互信,包括配置KDC信任票、核心站点中principal和user的映射、krb5.conf的信任关系等关键步骤。
&spm=1001.2101.3001.5002&articleId=104157469&d=1&t=3&u=5b29eadd58a54d63b230587dd7d0caa7)
1746

被折叠的 条评论
为什么被折叠?



