环境:

29.3.203.53(sysops00065017) 部署KDC Namnode Datanode,KDC负责TESTA.COM域的认证

29.3.203.54(sysops00065018) 部署KDC Namnode Datanode,KDC负责TESTB.COM域的认证

确保两台机器能互相使用主机名ping通

一、

两台kdc都添加krbtgt/TESTA.COM@TESTB.COM和krbtgt/TESTB.COM@TESTA.COM

如果在TESTA.COM访问TESTB.COM上的服务,需要krbtgt/TESTB.COM@TESTA.COM

二、修改krb5.conf(红色为需要修改的地方)

TESTA.COM  29.3.203.53(sysops00065017)

[realms]

TESTA.COM = {

kdc = sysops00065017

admin_server = sysops00065017

master_kdc = sysops00065017

default_domain = .TESTA.COM

}

TESTB.COM = {

kdc = sysops00065018

admin_server = sysops00065018

master_kdc = sysops00065018

default_domain = .TESTB.COM

}

[domain_realm]

.testa.com = TESTA.COM

testa.com = TESTA.COM

.testb.com = TESTB.COM

testb.com = TESTB.COM

sysops00065017 = TESTA.COM

sysops00065018 = TESTB.COM

[capaths]

TESTA.COM = {

TESTB.COM = .

}

TESTB.COM  29.3.203.54(sysops00065018)

[realms]

TESTA.COM = {

kdc = sysops00065017

admin_server = sysops00065017

master_kdc = sysops00065017

default_domain = .TESTA.COM

}

TESTB.COM = {

kdc = sysops00065018

admin_server = sysops00065018

master_kdc = sysops00065018

default_domain = .TESTB.COM

}

[domain_realm]

.testb.com = TESTB.COM

testb.com = TESTB.COM

.testa.com = TESTA.COM

testa.com = TESTA.COM

sysops00065017 = TESTA.COM

sysops00065018 = TESTB.COM

[capaths]

TESTB.COM = {

TESTA.COM = .

}

三、修改core-site.xml(两个域都要配置)

<property>

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

<value>

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

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

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

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

DEFAULT

</value>

</property>

四、修改hdfs-site.xml(两个域都要配置)

<property>

<name>dfs.namenode.kerberos.principal.pattern</name>

<value>*</value>

</property>

五、          重启Namdnode\KDC服务

六、          测试

TESTA上使用hdfs/sysops00065017@TESTA.COM访问两个集群的文件

其中TESTA的KDC日志显示

Aug 15 15:49:51 SYSOPS00065017 krb5kdc[9868](info): TGS_REQ (2 etypes {16 23}) 29.3.203.53: ISSUE: authtime 1565855227, etypes {rep=16 tkt=16 ses=16}, hdfs/sysops00065017@TESTA.COM for krbtgt/TESTB.COM@TESTA.COM

TESTB的KDC日志显示

Aug 15 15:49:50 SYSOPS00065018 krb5kdc[26655](info): TGS_REQ (2 etypes {16 23}) 29.3.203.53: ISSUE: authtime 1565855227, etypes {rep=16 tkt=16 ses=16}, hdfs/sysops00065017@TESTA.COM for hdfs/sysops00065018@TESTB.COM

TESTB上使用hdfs/sysops00065018@TESTB.COM访问两个集群的文件

其中TESTA的KDC日志显示

Aug 15 15:51:02 SYSOPS00065017 krb5kdc[9868](info): TGS_REQ (2 etypes {16 23}) 29.3.203.54: ISSUE: authtime 1565774273, etypes {rep=16 tkt=16 ses=16}, hdfs/sysops00065018@TESTB.COM for hdfs/sysops00065017@TESTA.COM

TESTB的KDC日志显示

Aug 15 15:51:01 SYSOPS00065018 krb5kdc[26655](info): TGS_REQ (2 etypes {16 23}) 29.3.203.54: ISSUE: authtime 1565774273, etypes {rep=16 tkt=16 ses=16}, hdfs/sysops00065018@TESTB.COM for krbtgt/TESTA.COM@TESTB.COM

kdc 互信的更多相关文章

  1. 配置两个Hadoop集群Kerberos认证跨域互信

    两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...

  2. 配置两个不同kerberos认证中心的集群间的互信

    两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...

  3. KDC添加加密

    零售KDC管理的域为TESTA.COM 华为集群管理的域为hadoop.com (目前测试了hdfs cli,下午在UAT集群测试下distcp) 一.            零售KDC升级支持AES ...

  4. 记录一则Linux SSH的互信配置过程

    需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置登录用户的互信 1.各节点ssh-keygen生成RSA密钥和公钥 ssh-keygen -q -t rsa -N ...

  5. Linux快速配置集群ssh互信

    之前在<记录一则Linux SSH的互信配置过程>.<Vertica 7.1安装最佳实践(RHEL6.4)>中,都分别提到了配置ssh互信的方法,本文在此基础上进一步整理配置s ...

  6. linux 互信不生效

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.  操作系统版本 1)操作系统 cat /etc/issue cat /etc/issue CentOS release 6.6 (Final ...

  7. Linux多节点互信配置

    SSH互信设置步骤:   1. 每个节点上分别生成自己的公钥和私钥   2. 将各节点的公钥文件汇总到一个总的认证文件authorized_keys中   3. 将这个包含了所有节点公钥的认证文件au ...

  8. linux配置ssh互信

    公钥认证的基本思想: 对信息的加密和解密采用不同的key,这对key分别称作private key和public key,其中,public key存放在欲登录的服务器上,而private key为特 ...

  9. Linux 虚拟机和物理机配互信出现无法连接

    配置文件位置:[root@hank-yoon data]# vi /etc/ssh/sshd_configPermitRootLogin yes 在物理机中,装完系统,默认情况下PermitRootL ...

随机推荐

  1. Ocelot + Consul的demo

    参考大佬的博客写的:https://www.cnblogs.com/alan-lin/p/9126155.html:也可以参考这篇博客:https://www.cnblogs.com/axzxs200 ...

  2. USB设备描述符

    /* USB Standard Device Descriptor */ const u8 Virtual_Com_Port_DeviceDescriptor[] = { 0x12, /* bLeng ...

  3. 对vuex分模块管理

    为什么要分模块: 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象.当应用变得非常复杂时,store 对象就有可能变得相当臃肿.为了解决以上问题,Vuex 允许我们将 store 分割成模块 ...

  4. JavaScript Basics_Fundamentals Part 1_Numbers

    Javascript Numbers 知识描述:JavaScript 只有一种数字类型,即数字(Number).数字可以带小数点,也可以不带,也就是整数和小数. 数字可以带小数点,也可以不带: Exa ...

  5. docker 第五篇 存储

    镜像概述复习 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层 如果运行中的容器修改了现有的一个已经存在的文件,那改文件将会从读写层下面的只读 ...

  6. ajax 传参数 java后台接收

  7. SQL学习——IN运算符

    IN的作用 IN运算符允许您在WHERE子句中指定多个值. IN运算符是多个OR条件的简写. IN的语法 SELECT column_name(s) FROM table_name WHERE col ...

  8. 温度传感器 DS18B20

    1. 实物图 2. 64位(激)光刻只读存储器 开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码 光刻ROM的作用是使每一个DS18B ...

  9. Java和操作系统交互(Java 代码是怎么执行)(转)

    结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原 ...

  10. CompletionService异步非阻塞获取并行任务执行结果

    第1部分 问题引入 <Java并发编程实践>一书6.3.5节CompletionService:Executor和BlockingQueue,有这样一段话: "如果向Execut ...