1. Kerberos部署
1.1.安装相关软件
server端 | yum -y install krb5-server krb5-libs krb5-auth-dialog |
Agent端 | yum install krb5-devel krb5-workstation -y |
1.2.server端修改KDC配置文件
修改配置文件中的EXAMPLE.COM为HADOOP.COM,默认的加密是aes256-cts,这个比较坑,还要安装Java包,故选择其他的。
备份kdc.conf | cp /var/kerberos/krb5kdc/kdc.conf /var/kerberos/krb5kdc/kdc.conf.bk |
修改kdc.conf | vim /var/kerberos/krb5kdc/kdc.conf [kdcdefaults] kdc_ports = 88 kdc_tcp_ports = 88 [realms] HADOOP.COM = { master_key_type = des3-hmac-sha1 acl_file = /var/kerberos/krb5kdc/kadm5.acl dict_file = /usr/share/dict/words max_renewable_life = 7d max_life = 1d sunw_dbprop_enable = true sunw_dbprop_master_ulogsize = 1000 admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab supported_enctypes = des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal } |
1.3.修改Kerberos配置文件
修改完后此配置拷贝到所有Kerberos客户端。
# vim /etc/krb5.conf [libdefaults] default_realm = HADOOP.COM dns_lookup_kdc = false dns_lookup_realm = false clockskew = 120 ticket_lifetime = 86400 renew_lifetime = 604800 forwardable = true renewable = true default_tgs_enctypes = des3-hmac-sha1 permitted_enctypes = des3-hmac-sha1 udp_preference_limit = 1 kdc_timeout = 3000 default_tkt_enctypes = des3-hmac-sha1
[realms] HADOOP.COM={ kdc=node2 kdc=node3 admin_server=node2 default_domain=node2 }
[domain_realm] .hadoop.com=HADOOP.COM hadoop.com=HADOOP.COM
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log
[kdc] profile = /var/kerberos/krb5kdc/kdc.conf |
1.4.初始化Kerberos database
过程中会让输入两次密码。密码采用kadmin.local
# /usr/sbin/kdb5_util create -s -r HADOOP.COM |
1.5.添加database administrator,
期间也会让输入两次密码。密码是kadmin.local
# /usr/sbin/kadmin.local -q "addprinc admin/admin" |
1.6.然后为database administrator设置ACL权限
# vim /var/kerberos/krb5kdc/kadm5.acl */admin@HADOOP.COM * # cat /var/kerberos/krb5kdc/kadm5.acl(用于检查) |
chkconfig --level 35 krb5kdc on chkconfig --level 35 kadmin on |
1.9.客户端登陆验证:(想要使用hadoop的服务的机器上都要登录)
1.10. 创建Cloudera Manager Principle,
在交互命令中使用addprinc-pw kadmin.local cloudera-scm/admin@HADOOP.COM 其中waring可以忽略。
1.11. 在CM上找到“启用Kerberos”
1.12. 使用向导,确认下面的步骤已经完成。
1.13. 配置下列中的信息,然后继续。
1.14. 使用CM来接管krb5的配置。
可选,可不选。修改配置的话点管理-->设置-->Kerberos
1.15. 输入之前创建的凭据,注意用户名是cloudera-scm/admin。
1.16. 导入成功后继续。
1.17. 确认下服务主体,按默认的走,继续。
1.18. 配置好后,需要重启集群。继续----->完成,这样就成功了。
注意:如果在启用Kerberos之前集群已经配置了YARN ResourcemanagerHA要先清理掉zk上的StateStore方法为:停掉YARNservice-->Stop,然后找到YARN service的ACTION-->Format State Store 。