版权声明:本文为博主原创文章,未经博主允许不得转载。
一、传闻规则
大数据CDH集群如果要开启Kerberos,主机名必须要求小写,否则CDH集成Kerberos会失败。
二、背景
生产环境由于经常扩容,且集群有很多应用节点,如果采用/etc/hosts方式做主机之间的解析,那么人力成本会比较高,因此采用DNS。于是引入了一个问题,公司生产环境DNS对主机名解析,会将原先的主机名解析为大写,且带有大写后缀。举例:原主机名为abc,DNS配置的解析映射为ABC.DEF.com,即主机名中出现了大写,与【传闻规则】冲突,然而回退到采用/etc/hosts不能接受,网络改造DNS映射规则不现实。
三、问题
主机名虽然是小写,然而通过DNS解析后变成了大写,即主机名大写了,还能否与kerberos正常集成?
四、尝试的方案
4.1 老朋友/etc/hosts
在集群所有节点/etc/hosts中添加ip与主机名(小写)的映射关系。该方案能够解决问题,但我们无法接受该方案带来的人力成本。因此该方案只是进一步验证了传闻规则而已。
4.2 Kerberos节点添加集群信息
从CDH集群Kerberos的报错日志来看,Kerberos会为每台主机生成principal,无论该服务器的主机名是大小还是小写,生成的principal都是小写,因此,如果服务器的主机名是大写,Kerberos侧的验证便会失败。Kerberos节点只要能解析出集群主机小写的主机名就行,出于该想法,我们只在kerb