Ambari2.6.2集成Kerberos
生活随笔
收集整理的這篇文章主要介紹了
Ambari2.6.2集成Kerberos
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
“坑”說明
如果 HDP 版本是 2.6.5、Ambari 版本是 2.6.2.2 ,切記與 Kerberos 集成時,注意一下 Kerberos 的版本。 Kerberos 版本一定不能是 1.15.1-18,會受傷的。 Kerberos 版本大于 18 這個小版本應該都沒有問題,親測版本 1.15.1-19、1.15.1-34 。 這是本篇文章使用的列表: krb5-libs-1.15.1-34.el7.x86_64 krb5-server-1.15.1-34.el7.x86_64 krb5-workstation-1.15.1-34.el7.x86_64 krb5-devel-1.15.1-34.el7.x86_64名詞解釋
Kerberos: Network Authentication protocol(網絡認證協議) KDC: Key Distribution center(密鑰分配中心) Kadmin: Kerberos Administrator(Kerberos管理)前言
安裝Kerberos之前,需要有配置好的Ambari環境。 Ambari安裝參見上一篇文章:https://blog.51cto.com/784687488/2329891配置/etc/hosts
[root@ambari-agent01 ~]$ cat /etc/hosts 10.0.2.20 ambari-server server.ambari.com 10.0.2.21 ambari-agent01 agent01.ambari.com kerberos-auth 10.0.2.22 ambari-agent02 agent02.ambari.com安裝Kerberos
# 下載 aes256-cts 編碼支持組件 JCE(jce_policy-8.zip) yum install krb5-server krb5-libs krb5-workstation -y配置Kerberos Server配置文件
[root@ambari-agent01 ~]$ cat >/etc/krb5.conf<<EOF # Configuration snippets may be placed in this directory as well includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24h # 認證憑證生命周期renew_lifetime = 7d # 認證憑證最長延期時限forwardable = truerenewable = truerdns = falsepkinit_anchors = /etc/pki/tls/certs/ca-bundle.crtdefault_realm = TEST.COMdefault_ccache_name = KEYRING:persistent:%{uid}[realms] TEST.COM = {kdc = kerberos-auth # TEST.COM 域中的 KDC 接口admin_server = kerberos-auth # TEEEST.COM 域中的 Admin Server 接口 }[domain_realm] .TEST.com = TEST.COM TEST.com = TEST.COM EOF配置KDC配置文件
# 解壓 JCE 支持組件至${JRE_HOME}/lib/security/ [root@ambari-agent01 ~]$ unzip UnlimitedJCEPolicyJDK7.zip [root@ambari-agent01 ~]$ for n in 20 21 22;do scp local_policy.jar US_export_policy.jar 10.0.2.$n:/opt/jdk/jre/lib/security/;done [root@ambari-agent01 ~]$ cat >/var/kerberos/krb5kdc/kdc.conf<<EOF [kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]TEST.COM = {acl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytab# aes256-cts這個校驗方式需要單獨下載 JCE-*.jar,并把 jar 包放到 ${JRE_HOME}/lib/security 路徑下master_key_type = aes256-ctssupported_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} EOF管理帳號 ACL 配置
[root@ambari-agent01 ~]$ cat >/var/kerberos/krb5kdc/kadm5.acl<<EOF */admin@TEST.COM * EOF初始化并創建 Kerberos 數據庫
[root@ambari-agent01 ~]$ kdb5_util create -r TEST.COM -s Loading random data Initializing database '/var/kerberos/krb5kdc/principal' for realm 'TEST.COM', master key name 'K/M@TEST.COM' You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter KDC database master key: # 設置密碼 Re-enter KDC database master key to verify: # 確認密碼創建管理帳號 Principal
[root@ambari-agent01 krb5kdc]$ kadmin.local -q "addprinc admin/admin" Authenticating as principal root/admin@TEST.COM with password. WARNING: no policy specified for admin/admin@TEST.COM; defaulting to no policy Enter password for principal "admin/admin@TEST.COM": # 設置管理帳號密碼 Re-enter password for principal "admin/admin@TEST.COM": # 確認密碼 Principal "admin/admin@TEST.COM" created.查看 Kerberos 數據庫帳號列表
# 個人感覺與 Mysql 查詢用戶SQL“select user, host from mysql.user;” 差不多 [root@ambari-agent01 krb5kdc]$ kadmin.local listprincs K/M@TEST.COM admin/admin@TEST.COM kadmin/admin@TEST.COM kadmin/ambari-agent01@TEST.COM kadmin/changepw@TEST.COM kiprop/ambari-agent01@TEST.COM krbtgt/TEST.COM@TEST.COM啟動 Kerberos-Server
systemctl start krb5kdc.service啟動 Kadmin-Server
systemctl start kadmin.service配置Ambari集成Kerberos,Ambari頁面配置
在管理項目中選中Kerberos
開啟Kerberos
這個警告不用管,選擇'Proceed Anyway'
# 警告:yarn的日志和日志目錄將被刪除,并將resourcemanager的狀態重新格式化為開啟或關閉kerberos應用的狀態開始配置Kerberos
配置并測試KDC連通性
配置測試kadmin連通性并繼續
# 在 Admin Principal 和 Admin Password 中填入手動創建的管理帳號與帳號密碼 # 創建的帳號為 admin/admin@TEST.COM,密碼為123456在Ambari集群所有節點安裝Kerberos Client,并進行Client連接測試
# 測試過程可能會提示session過期,重新輸入用戶、密碼進行認證 # 客戶端連接命令: kadmin -r TEST.COM -s kerberos-auth:88 -padmin/admin@TEST.COM安裝客戶端及測試連接成功
# 后面幾項配置使用默認就可以了。 # 如果有興趣的話,在 Confirm Configuration (確認配置)這步時可以下載CSV文件看一下,里面有詳細的 Ambari 自動創建的各個應用組件連接 Kerberos 認證的 principal 和 keytabs轉載于:https://blog.51cto.com/784687488/2332072
總結
以上是生活随笔為你收集整理的Ambari2.6.2集成Kerberos的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对象并不一定都是在堆上分配内存的
- 下一篇: 吴恩达机器学习 Coursera 笔记(