1.版本選型
ranger 目前大版本 主要是 0.4, 0.5 , 0.6
0.4 版本 主要支持的hadoop 生態版本(Hadoop 2.6.0 — Hive 0.14.0 – Hbase 0.99.2) (2015年2月 最后更新)
0.5 版本 主要支持的hadoop 生態版本(Hadoop 2.7.0 — Hive 1.2.0 – Hbase 1.1.0) 注意: 不支持hadoop2.6.0 因為INodeAttributeProvider 不存在。(2016年9月)
0.6 版本 主要支持的hadoop 生態版本(Hadoop 2.7.1 — Hive 2.1.0 – Hbase 1.1.3) 最新
針對目前數倉情況,0.4 更新時間很久, 選取0.5 中ranger-0.5.3-rc3 版本。
2.編譯

1)安裝Ranger 控制台:Ranger—admin,解壓ranger-0.5.3-admin.tar.gz文件,然后修改install.properties文件。
[root@hlg-5p149-wangwenting ranger-0.5.3]# tar -zxvf ranger-0.5.3-admin.tar.gz [root@hlg-5p149-wangwenting ranger-0.5.3]# cd ranger-0.5.3-admin [root@hlg-5p149-wangwenting ranger-0.5.3-admin]# vim install.properties |
更改配置文件:
SQL_CONNECTOR_JAR=/opt/hive/lib/mysql-connector-java-5.1.35.jar # mysql 庫路徑 # mysql root 用戶 db_root_user=root #當前機器的mysql的用戶 db_root_password=1234 #當前機器的mysql的密碼 db_host=hlg-5p149-wangwenting #當前機器名 # ranger 的db db_name=ranger db_user=root db_password=1234 # ranger 審計db audit_db_name=ranger_audit audit_db_user=root audit_db_password=1234 # ------- UNIX User CONFIG ---------------- 安裝的時候會更改ranger-0.5.3-admin 所屬用戶 unix_user=hadoop unix_group=hadoop |
2)啟動服務:
訪問查看服務知否ok, 通過admin/admin 看是否能夠登錄訪問地址 http://172.24.5.149:6080

[root@hlg-5p149-wangwenting ranger-0.5.3]# unzip ranger-0.5.3-hdfs-plugin.zip [root@hlg-5p149-wangwenting ranger-0.5.3]# cd ranger-0.5.3-hdfs-plugin [root@hlg-5p149-wangwenting ranger-0.5.3-hdfs-plugin]# vim install.properties |
更改配置文件:
# ranger web 服務地址 POLICY_MGR_URL=http://localhost:6080 # mysql jar 包 SQL_CONNECTOR_JAR=/opt/hive/lib/mysql-connector-java-5.1.35.jar # mysql 庫路徑 # 服務名 REPOSITORY_NAME=hadoopdev # 統計日志db 信息 XAAUDIT.DB.IS_ENABLED=true XAAUDIT.DB.FLAVOUR=MYSQL XAAUDIT.DB.HOSTNAME=hlg-5p149-wangwenting XAAUDIT.DB.DATABASE_NAME=ranger_audit XAAUDIT.DB.USER_NAME=root XAAUDIT.DB.PASSWORD=1234 # Custom component user CUSTOM_USER=hadoop # Custom component group CUSTOM_GROUP=hadoop |
啟動前的准備工作:
#在/opt/ranger-0.5.3目錄下創建hadoop目錄 [root@hlg-5p149-wangwenting ranger-0.5.3]# mkdir hadoop [root@hlg-5p149-wangwenting ranger-0.5.3]# cd hadoop [root@hlg-5p149-wangwenting hadoop]# ln -s /opt/hadoop/etc/hadoop/ conf [root@hlg-5p149-wangwenting hadoop]# ln -s /opt/hadoop/share/hadoop/hdfs/lib/ lib 並將 /opt/hadoop/ranger-0.5-3/ranger-0.5.3-hdfs-plugin/lib/ranger-hdfs-plugin-impl 中的jar 包 拷貝到/opt/hadoop/hadoop/share/hadoop/hdfs/lib/ [root@hlg-5p149-wangwenting hadoop]# cp /opt/ranger-0.5.3/ranger-0.5.3-hdfs-plugin/lib/ranger-hdfs-plugin-impl/* /opt/hadoop/share/hadoop/hdfs/lib/ |
用root用戶安裝:
[root@hlg-5p149-wangwenting ranger-0.5.3-hdfs-plugin]# ./enable-hdfs-plugin.sh |
執行啟動命令后需要進行重啟hadoop服務。
安裝結束后:
會看見多了幾個配置文件。
修改了hdfs-site.xml 如下
<property> <name>dfs.permissions.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>true</value> </property> <property> <name>dfs.namenode.inode.attributes.provider.class</name> <value>org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer</value> </property> |
驗證是否成功:
登錄web ; 點擊HDFS plugin 添加按鈕,添加服務 ; 輸入定義的服務名:hadoopdev(在配置參數時設置的,要保持一致;點擊 Test Connection 執行成功
5.ranger-0.5.3-hive-plugin 安裝
[root@hlg-5p149-wangwenting ranger-0.5.3]# unzip ranger-0.5.3-hive-plugin.zip [root@hlg-5p149-wangwenting ranger-0.5.3]# cd ranger-0.5.3-hive-plugin [root@hlg-5p149-wangwenting ranger-0.5.3-hive-plugin]# vim install.properties |
更改配置文件:
# ranger web 服務地址 POLICY_MGR_URL=http://localhost:6080 # mysql jar 包 SQL_CONNECTOR_JAR=/opt/hive/lib/mysql-connector-java-5.1.35.jar # mysql 庫路徑 # 服務名 REPOSITORY_NAME=hivedev # 統計日志db 信息 XAAUDIT.DB.IS_ENABLED=true XAAUDIT.DB.FLAVOUR=MYSQL XAAUDIT.DB.HOSTNAME=hlg-5p149-wangwenting XAAUDIT.DB.DATABASE_NAME=ranger_audit XAAUDIT.DB.USER_NAME=root XAAUDIT.DB.PASSWORD=1234 # Custom component user CUSTOM_USER=hadoop # Custom component group CUSTOM_GROUP=hadoop |
啟動前的准備工作:
#在/opt/ranger-0.5.3目錄下創建hadoop目錄 [root@hlg-5p149-wangwenting ranger-0.5.3]# mkdir hive [root@hlg-5p149-wangwenting ranger-0.5.3]# cd hive [root@hlg-5p149-wangwenting hive]# ln -s /opt/hive/conf/ conf [root@hlg-5p149-wangwenting hive]# ln -s /opt/hive/lib lib |
用root用戶安裝:
[root@hlg-5p149-wangwenting ranger-0.5.3-hdfs-plugin]# ./enable-hive-plugin.sh |
執行啟動命令后需要進行重啟hive服務.
安裝結束后:
會看見多了幾個配置文件。
修改hiveserver2-site.xml 文件
<property> <name>hive.security.authorization.enabled</name> <value>true</value> </property> <property> <name>hive.security.authorization.manager</name> <value>org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory</value> </property> <property> <name>hive.security.authenticator.manager</name> <value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value> </property> <property> <name>hive.conf.restricted.list</name> <value>hive.security.authorization.enabled,hive.security.authorization.manager,hive.security.authenticator.manager</value> </property> |
配置之后去重啟hive.
這里的重啟指令和之前的部署文檔有一點小小的區別:
[hadoop@bgs-5p173-wangwenting hive]$ nohup /opt/hive/bin/hive --service hiveserver2 -hiveconf hive.metastore.uris=' ' & 0: jdbc:hive2://172.18.1.22:10000> show tables;#這里是用hadoop用戶去訪問,首先肯定是因為權限問題,hadoop操作hive報錯。這時候需要我們去ranger的客戶端去添加一個hadoop的用戶,默認是給出所有的操作權限。 [hadoop@bgs-5p173-wangwenting hive]$ /opt/hive/bin/beeline -u jdbc:hive2://hlg-5p149-wangwenting:10000 -n hadoop |

這個時候我們再用hadoop用戶去訪問
[hadoop@hlg-5p149-wangwenting hive]$ nohup /opt/hive/bin/hive --service hiveserver2 & 0: jdbc:hive2://172.24.5.149:10000> show tables; |