由于现场很多现场的HADOOP集群都支持了kerberos认证,那么对应kerberos认证的流程就需要相对熟悉,以下总结了一些认证流程的说明:
1、配置kerberos server:
安装krb的rpm包:
修改配置文件/etc/krb5.conf
realms 域:表示一个公司或者一个组织,逻辑上的授权认证范围
比如,某个认证账户是属于某个域下的,跨域账户不通用
域和FQDN的配置很像,使用大写,本次演示使用GBASE.CN来标记域,域中创建的用户都属于这个域,可以配置多个,大环境中有一个组织
domain_realm表示域名转换,.gbase.cn 表示*.gbase.cn这种类型的主机名都放到GBASE.CN这个域中,都归属于这个域,gbase.cn 表示主机名是gbase.cn的主机也属于
GBASE.CN这个域
realms是大小写敏感的,只能大写
logging日志相关的配置
libdefaults默认的配置
默认的域是GBASE.CN
ticket_lifetime = 24h 表示票据的有效期是24h
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
GBASE.CN这个域的配置信息
[realms]
GBASE.CN = {
#master_key_type = aes256-cts
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
}
acl_file权限管控,kerberos acl的一些配置对应的文件
keytab:登录凭证,有了这个相当于直接有了ticket,可以免密直接登录某个账户,所以这个文件很重要,不需要找as和kgs通信,有文件就有权限
supported_enctypes 表示加密规则
2、配置kerberos 客户端安装
kerberos 客户端安装
yum -y install krb5-libs krb5-workstation
将/etc/krb5.conf文件拷贝到kerberos client节点
将/etc/krb5.conf文件拷贝到kerberos client节点
3、创建hadoop集群服务的账户信息进行认证
addprinc -randkey nn/lypa.gbase.cn@GBASE.CN
ktadd -k /etc/security/keytabs/nn.server.keytab nn/lypa.gbase.cn@GBASE.CN
4、配置CA证书
mkdir /etc/security/cdh.https
openssl req -new -x509 -keyout bd_ca_key -out bd_ca_key -out bd_ca_cert -days 9999 -subj ‘/C=CN/ST=beijing/L=bejing/O=test/OU=test/CN=test’
密码123456
将cdh.https文件拷贝到其他hadoop的datanode节点上
生成keystore文件
keytool -keystore keystore -alias localhost -validity 9999 -genkey -keyalg RSA -keysize 2048 -dname “CN=test, OU=test, O=test, L=bejing, ST=beijing, C=CN”
生成truststore文件
keytool -keystore truststore -alias CARoot -import -file bd_ca_cert 密码输入123456
生成cert文件
keytool -certreq -alias localhost -keystore keystore -file cert
生成cert_signed文件
openssl x509 -req -CA bd_ca_cert -CAkey bd_ca_key -in cert -out cert_signed -days 9999 -CAcreateserial -passin pass:123456
keytool -keystore keystore -alias CARoot -import -file bd_ca_cert
keytool -keystore keystore -alias localhost -import -file cert_signed
5、启动hadoop服务
[hdfs@test sbin]$ ./start-all.sh
[root@test apache-hive-2.3.3-bin]# jps
34160 NodeManager
33605 DataNode
34037 ResourceManager
33448 NameNode
18476 Main
33805 SecondaryNameNode
34845 Jps




