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 # 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/[email protected] 其中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 。