kdc 互信
环境:
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 互信的更多相关文章
- 配置两个Hadoop集群Kerberos认证跨域互信
两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...
- 配置两个不同kerberos认证中心的集群间的互信
两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Hadoop集群B的服务(实质上是使用Kerberos Re ...
- KDC添加加密
零售KDC管理的域为TESTA.COM 华为集群管理的域为hadoop.com (目前测试了hdfs cli,下午在UAT集群测试下distcp) 一. 零售KDC升级支持AES ...
- 记录一则Linux SSH的互信配置过程
需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置登录用户的互信 1.各节点ssh-keygen生成RSA密钥和公钥 ssh-keygen -q -t rsa -N ...
- Linux快速配置集群ssh互信
之前在<记录一则Linux SSH的互信配置过程>.<Vertica 7.1安装最佳实践(RHEL6.4)>中,都分别提到了配置ssh互信的方法,本文在此基础上进一步整理配置s ...
- linux 互信不生效
版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 操作系统版本 1)操作系统 cat /etc/issue cat /etc/issue CentOS release 6.6 (Final ...
- Linux多节点互信配置
SSH互信设置步骤: 1. 每个节点上分别生成自己的公钥和私钥 2. 将各节点的公钥文件汇总到一个总的认证文件authorized_keys中 3. 将这个包含了所有节点公钥的认证文件au ...
- linux配置ssh互信
公钥认证的基本思想: 对信息的加密和解密采用不同的key,这对key分别称作private key和public key,其中,public key存放在欲登录的服务器上,而private key为特 ...
- Linux 虚拟机和物理机配互信出现无法连接
配置文件位置:[root@hank-yoon data]# vi /etc/ssh/sshd_configPermitRootLogin yes 在物理机中,装完系统,默认情况下PermitRootL ...
随机推荐
- Ocelot + Consul的demo
参考大佬的博客写的:https://www.cnblogs.com/alan-lin/p/9126155.html:也可以参考这篇博客:https://www.cnblogs.com/axzxs200 ...
- USB设备描述符
/* USB Standard Device Descriptor */ const u8 Virtual_Com_Port_DeviceDescriptor[] = { 0x12, /* bLeng ...
- 对vuex分模块管理
为什么要分模块: 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象.当应用变得非常复杂时,store 对象就有可能变得相当臃肿.为了解决以上问题,Vuex 允许我们将 store 分割成模块 ...
- JavaScript Basics_Fundamentals Part 1_Numbers
Javascript Numbers 知识描述:JavaScript 只有一种数字类型,即数字(Number).数字可以带小数点,也可以不带,也就是整数和小数. 数字可以带小数点,也可以不带: Exa ...
- docker 第五篇 存储
镜像概述复习 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层 如果运行中的容器修改了现有的一个已经存在的文件,那改文件将会从读写层下面的只读 ...
- ajax 传参数 java后台接收
- SQL学习——IN运算符
IN的作用 IN运算符允许您在WHERE子句中指定多个值. IN运算符是多个OR条件的简写. IN的语法 SELECT column_name(s) FROM table_name WHERE col ...
- 温度传感器 DS18B20
1. 实物图 2. 64位(激)光刻只读存储器 开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码 光刻ROM的作用是使每一个DS18B ...
- Java和操作系统交互(Java 代码是怎么执行)(转)
结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原 ...
- CompletionService异步非阻塞获取并行任务执行结果
第1部分 问题引入 <Java并发编程实践>一书6.3.5节CompletionService:Executor和BlockingQueue,有这样一段话: "如果向Execut ...