配置跨集群互信

南墨1年前技术文章509

1.源集群修改项

创建跨域krbtgt Principal

进入kadmin命令行,执行以下2条命令:(如有加密算法需要添加加密算法部分)

addprinc krbtgt/源集群realm@目标集群realm                  

addprinc krbtgt/目标集群realm@源集群realm                  

设置密码:xxxxxx

注:此密码需与目标集群创建该principal密码设置为同一个

2.目标集群修改项

适配/etc/hosts

修改目标所有节点/etc/hosts文件,增加源集群节点的映射关系

10.159.164.61 tst-su01-01

10.159.164.62 tst-su01-02

10.159.164.63 tst-su01-03

10.159.164.205 tst-ka05 HNTest01KDC

10.159.164.206 tst-ka06 HNTest01KDC

10.159.164.207 tst-ka07 HNTest01KDC

10.159.164.208 tst-ka08 HNTest01KDC

修改Yarn和HDFS的hadoop.rpc.protection

保证源集群hadoop.rpc.protection(core-site.xml中)的属性值与目标集群的一致,由于源集群有业务运行,因此修改目标集群配置,修改后重启集群

配置值:authentication privacy integrity

在core-site中配置principal和user的映射RULES

(注意:修改该服务端参数需要重启HDFS)

修改HDFS的core-site.xml文件的hadoop.security.auth_to_local属性:

增加红色部分:

<property>

  <name>hadoop.security.auth_to_local</name>

  <value>

    RULE:[1:$1@$0](^.*@HADOOP\.COM$)s/^(.*)@HADOOP\.COM$/$1/g

       RULE:[2:$1@$0](^.*@HADOOP\.COM$)s/^(.*)@HADOOP\.COM$/$1/g

       DEFAULT

       </value>

</property>

以上规则的作用:

规则1用于将HADOOP.COM域里不包含主机名的Principal映射为短名称。例如:aaa@HADOOP.COM => aaa

规则2用于将HADOOP.COM域里包含主机名的Principal映射为短名称。例如:hdfs /fully-qualified-domain-name@HADOOP.COM => hdfs

在krb5.conf中配置信任关系

在两个集群的节点的/etc/krb5.conf文件配置domain和realm的映射关系,例如:

在目标Cluster中配置:

 [capaths]

       目标集群realm = {

              源集群realm = .

       }

配置成'.'是表示没有intermediate realms

配置realms

为了是目标集群(IDC)可以访问源集群(HADOOP)的KDC,需要将源集群(HADOOP)的KDC Server配置到目标集群(IDC)中,如下:

 [realms]

  IDC.COM = {

    kdc = {host}.IDC.COM:88

    admin_server = {host}.IDC.COM:749

    default_domain = IDC.COM

  }

  HADOOP.COM = {

    kdc = {host}.HADOOP.COM:88

    admin_server = {host}.HADOOP.COM:749

    default_domain = HADOOP.COM

  }

创建跨域 krbtgt Principal

进入kadmin命令行:

Kadmin –p kadmin/admin

输入kadmin密码,执行以下命令:

addprinc -e "aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal"  krbtgt/源集群realm@目标集群realm 

addprinc -e "aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal"  krbtgt/目标集群realm@源集群realm

提示设置密码时,需设置与2.2.1章节源集群相同的密码

配置domain_realm

在domain_realm中,一般配置成'.IDC.COM'和'IDC.COM'的格式,'.'前缀保证kerberos将所有的IDC.COM的主机均映射到IDC.COM realm。但是如果集群中的主机名不是以IDC.COM为后缀的格式,那么需要在domain_realm中配置主机与realm的映射关系,例IDC.nn.local映射为IDC.COM,需要增加IDC.nn.local = IDC.COM。

[domain_realm]                       

.hadoop.com=HADOOP.COM           

 hadoop.com=HADOOP.COM          

 .IDC.com=IDC.COM                  

 IDC.com=IDC.COM                   

重启kerberos服务

其他

若存在加密算法,需要在krb5.conf的[realms]中添加supported_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5


相关文章

linux开启Firewall白名单限制ip访问

linux开启Firewall白名单限制ip访问

1、Firewalld是否启动成功systemctl start firewalld && systemctl enable firewalld 1 2、开启规则需求:客户由...

flink-hive方言配置(Hive Dialect)

简介       在使用 Hive 方言时,Flink 允许用户用 Hive 语法来编写 SQL 语句。 通过提供与 Hive 语法的兼容性,我们旨在改善与 Hive 的互操作性,并减少用户需要在 F...

Hive压测之开源Hive基准测试工具(hive-testbench-hive14)

Hive压测之开源Hive基准测试工具(hive-testbench-hive14)

此文章禁止转载概述Hive基准测试工具工具,可用来造数测试Hive基本性能。TPC-DS:提供一个公平和诚实的业务和数据模型,99个案例TPC-H:面向商品零售业的决策支持系统测试基准,定义了8张表,...

MySQL 小数类型介绍

MySQL 小数类型介绍

前言对于保证精度的数字,MySQL 也有对应的小数类型,下图是 MySQL 中小数类型概览。 浮点:小数点非固定的数,可表示数据范围较广,整数,小数都可表示。定点:小数点固定,可表示整数,小数。int...

Haproxy配置负载均衡

yum安装haproxy如果后面要配置高可用,和keepalived配合使用更佳。yum install haproxy修改配置文件设置impala和ldap的负载均衡(Impala Daemon分布...

Golang 垃圾回收

Golang 垃圾回收

1、标记清除算法Golang 使用标记清除算法作为垃圾回收器的一部分。标记清除算法是一种常见的垃圾回收算法,它通过标记和清除未被引用的对象来回收内存空间。Golang 中,垃圾回收器会定期扫描堆空间,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。