1. 概述
當前ranger版本為ranger-1.2.0
2. 生成用戶主體
在kerberos服務器生成用於ranger的用戶主體:
root@~:/# kadmin.local kadmin.local: addprinc -randkey http/node3@EXAMPLE.COM kadmin.local: addprinc -randky root/node3@EXAMPLE.COM kadmin.local: ktadd -norandkey -kt rangadmin.keytab http/node3@EXAMPLE.COM root/node3@EXAMPLE.COM kadmin.local: quit
這里用於ranger的用戶主體為root/node3@EXAMPLE.COM和http/node3@EXAMPLE.COM,其中root是啟動ranger的用戶,http為通信協議,node3為ranger服務器。接着,拷貝rangeradmin.keytab到ranger admin服務器
3. 修改配置
修改ranger admin的install properties 文件
主要修改以下幾項配置:
#------------ Kerberos Config ----------------- spnego_principal=HTTP/node3@EXAMPLE.COM spnego_keytab=/data/ranger/ranger-1.2.0-SNAPSHOT-admin/rangadmin.keytab admin_principal=rangadmin/node3@EXAMPLE.COM admin_keytab=/data/ranger/ranger-1.2.0-SNAPSHOT-admin/rangadmin.keytab lookup_principal=rangadmin/node3@EXAMPLE.COM lookup_keytab=/data/ranger/ranger-1.2.0-SNAPSHOT-admin/rangadmin.keytab hadoop_conf=/data1/hadoop/hadoop/etc/hadoop/
4. 初始化
修改完配置以后,重新初始化./setup.sh和./set_globals.sh
5. 插件配置
5.1. hdfs插件配置
hdfs插件創建service: hdfsRepo的參數Authentication Type選擇kerberos類型,如下:
username: test password: test namenode url: hdfs://node214:8020,hdfs://node215:8020 Authorization Enabled: yes Authentication Type: kerberos hadoop.security.auth_to_local: default dfs.datanode.kerberos.principal: xiaobai/_HOST@EXAMPLE.COM dfs.namenode.kerberos.principal: xiaobai/_HOST@EXAMPLE.COM dfs.journalnode.kerberos.principal: xiaobai/_HOST@EXAMPLE.COM RPC Protection Type: authentication policy.download.auth.users: test
注:
這里的dfs.datanode.kerberos.principal、dfs.namenode.kerberos.principal、dfs.journalnode.kerberos.principal需要跟hdfs-site.xml配置的一樣
5.2. hive插件配置
hive插件創建service: hivedev的參數jdbc.url填寫格式:
jdbc:hive2://node3:10000/;principal=root/node3@EXAMPLE.COM
principal=root/node3@EXAMPLE.COM為hive-site.xml中的配置項:hive.server2.authentication.kerberos.principal
插件編輯內容如下:
username: test password: test jdbc.driverClassName: org.apache.hive.jdbc.HiveDriver jdbc.url: jdbc:hive2://node215:10000;principal=xiaobai/_HOST@EXAMPLE.COM policy.download.auth.users: test
5.3. 其他插件配置
ranger每一個插件開啟kerberos后,拉取策略到本地需要在ranger-admin的web頁面創建service時增加如下配置項,例如:
policy.download.auth.users hdfs
hdfs用戶為hdfs組件的啟動用戶
注:
如果不配置,就沒有權限拉取策略,插件會集成失敗
6. 參考資料
https://www.cnblogs.com/yjt1993/p/11888044.html