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.编译

目前数仓用的hive 1.2.1 ,更改 pom.xml   <hive.version>1.2.1</hive.version>
mvn clean compile package assembly:assembly install -Dmaven.test.skip=true 进行编译,编译之后就会有以下这些tar包,zip包的。(我们选择已经编译好的安装包进行安装,所以直接拷贝已经编译后的安装包,并解压,解压之后的就是下面这个样子。)
3.安装

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)启动服务:

  root 用户执行./setup.sh  此时会在mysql 中创建db ranger 和 ranger_audit
 
访问查看服务知否ok, 通过admin/admin 看是否能够登录访问地址 http://172.24.5.149:6080
 
 
 
 
 
4 ranger-0.5.3-hdfs-plugin的安装

 

[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;


 

posted @ 2017-05-10 13:58 wyl9527 阅读(...) 评论(...) 编辑 收藏