ranger的安装
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用户去访问
[hadoop@hlg-5p149-wangwenting hive]$ nohup /opt/hive/bin/hive --service hiveserver2 & 0: jdbc:hive2://172.24.5.149:10000> show tables; |