赞
踩
一、概述
本文是针对cloudera大数据集群安全部署整理的文档,主要介绍了大数据集群Kerberos服务器部署和集成的过程。
这篇文章介绍了kerberos配置高可用HA的过程:Kerberos高可用HA配置
二、环境说明
1、主机名
主机名首字母必须为小写,否则在集成kerberos时会出现很多异常问题。
2、hosts文件
/etc/hosts文件中不要包含127.0.0.1的解析。
3、ASE-256加密
我们的系统是Red Hat Enterprise Linux Server
release 7.5,对于centos5.6及以上的系统,默认使用AES-256来加密的。无论采用何种加密方式,zookeeper都必须要求集群中所有节点安装java Cryptography Extension(JCE) Unlimited Strength Jurisdiction Policy File。否则会报错:
Failed to authenticate using SASL
javax.security.sasl.SaslException:GSS initiate failed 【Caused by GSSException:Failure unspecified at GSS-API level (Mechanism level:Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled)】...
该文件解压后,是两个jar包,local_policy.jar和US_export_policy.jar,默认的jdk自带的这两个文件是强度加密的,不能满足要求,需要替换掉,在官网上下载非限制强度加密的这两个文件,并放在/usr/java/jdk1.8.0_121/jre/lib/security路径下。
说明:也可以不使用AES-256加密方式,本文后续采用的是AES-128-cts方式。
三、Kerberos服务器(KDC)安装
1、为所有节点安装kerberos软件包:
2、选择Cloudera Manager节点作为KDC服务器,安装额外包:
3、KDC服务器涉及到三个配置文件,/etc/krb5.conf、/var/kerberos/krb5kdc/kdc.conf和/var/kerberos/krb5kdc/kadm5.acl。
注意:这三个文件的配置已通过数十遍的测试验证,每个参数都不能随意修改!!!
编辑/etc/krb5.conf,这是客户端上的配置,需要同步到每个客户端节点上。修改其中的realm以及对应的kdc/kadmin服务器地址。
[root@host1 bin]# cat/ etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc= FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = SPDB.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
SPDB.COM = {
kdc= host1
admin_server = host1
}
[domain_realm]
.spdb.com = SPDB.COM
spdb.com = SPDB.COM
[kdc]
profile=/var/kerberos/krb5kdc/kdc.conf
编辑/var/kerberos/krb5kdc/kdc.conf,这是Kerberos服务器的配置,修改其中的配置文件中的realm名称。
[root@host1 bin]# cat /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
SPDB.COM = {
max_renewable_life = 7d
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}
编辑/var/kerberos/krb5kdc/kadm5.acl,添加作为管理员的类型,这里以/admin结尾的用户是作为管理员用户。
*/admin@SPDB.COM *
4、完成文件配置后,通过命令初始化KDC Database。该命令会在/var/kerberos/krb5kdc/目录下创建principal数据库。
5、然后启动KDC进程,并加入开机启动项
6、使用Kadmin给Cloudera Manager建立Kerberos账户。
7、将KDC Server上的krb5.conf文件拷贝到所有Kerberos客户端
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。