写点什么

Apache Ranger 安全认证配置

发布于: 2021 年 03 月 27 日
Apache Ranger安全认证配置

Apache Ranger 安全认证配置

1、Ranger 集成 HDFS 的安全认证机制与配置

安装 hdfs 插件

从源码安装 ranger 的服务器上拷贝 hdfs 的插件到你需要安装的地方

 

1、解压安装

# tar zxvf ranger-2.1.0-hdfs-plugin.tar.gz -C  /usr/app/ranger/

2、修改插件配置文件,如下

修改 install.properties 文件

 

主要修改以下几个参数:

 

POLICY_MGR_URL= http://10.130.90.12:6080   #policy 地址,也就是 ranger-admin 地址

 

REPOSITORY_NAME=hadoopdev  #服务名字,在 ranger-admin 前台创建的时候,需要与这个参数值一样。

 

XAAUDIT.SOLR.ENABLE=true    #开启审计日志

 

XAAUDIT.SOLR.URL=http://10.130.90.12:6083/solr/ranger_audits #solr 地址

 

CUSTOM_USER=hduser   #定义插件用户,这个值是启动集群的用户

 

CUSTOM_GROUP=hduser

 

3、修改 hdfs 配置文件

# vim hdfs-site.xml

 

添加如下配置:

 

<property>
 
        <name>dfs.namenode.inode.attributes.provider.class</name>
 
        <value>org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer</value>
 
    </property>
 
<property>
 
        <name>dfs.permissions</name>
 
        <value>true</value>
 
    </property>
 
    <property>
 
        <name>dfs.permissions.ContentSummary.subAccess</name>
 
        <value>true</value>
 
</property>
复制代码


4、启动插件

# sudo ./enable-hdfs-plugin.sh.

 

5、启动 ranger-admin 进入 webUI

点击 hdfs 上的加号,进行配置



点击测试,成功之后点击 audit 进入插件管理就可以看见 hdfs 插件

 

2、Ranger 集成 HIVE 的安全认证机制与配置

注意:Ranger-hive 插件使用 hive 的 metastore 和 hiveserver2 服务,所以 hive 必须先开启这两项服务。开启方式如下:

nohup hive --service metastore &

Nohup hive --service hiveserver2 &

 

安装 ranger-hive 插件

1、解压安装

#  tar zxvf ranger-2.0.0-SNAPSHOT-hive-plugin.tar.gz  -C  /usr/app/ranger

 

2、修改 install.properties

POLICY_MGR_URL=http://10.130.90.12:6080

 

REPOSITORY_NAME=hivedev

 

COMPONENT_INSTALL_DIR_NAME=/data1/hadoop/hive   #hive 安装目录

 

XAAUDIT.SOLR.ENABLE=true

 

XAAUDIT.SOLR.URL=http://10.130.90.12:6083/solr/ranger_audits

 

CUSTOM_USER=hduser   

 

CUSTOM_GROUP=hduser

 

3. 建立软连接

mkdir /usr/app/ranger/hive

ln -s  /haive 安装根目录/conf  /usr/app/ranger/hive /conf

ln -s  /haive 安装根目录/lib  /usr/app/ranger/hive /lib

cp  /ranger-hive 插件目录/lib/ranger-hive-plugin-impl/*.jar  /haive 安装根目录/lib

4、启动插件

./enable-hive-plugin.sh

5、进入 admin 的 webUI 配置 hive



点击测试



注意:测试时有可能报以下错误

Ranger 测试 hive 连接错误提示:

org.apache.ranger.plugin.client.HadoopException: Unable to connect to Hive Thrift Server instance..

Unable to connect to Hive Thrift Server instance..

Could not open client transport for any of the Server URI's in ZooKeeper: Could not establish connection to jdbc:hive2://c2bde55:10000/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=default}).

Could not establish connection to jdbc:hive2://c2bde55:10000/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2: Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=default}).

Required field 'client_protocol' is unset! Struct:TOpenSessionReq(client_protocol:null, configuration:{use:database=default}).

 

解决办法:

使用 hdp2.6.1 出现,原因是 hive 相关 jar 包不匹配问题

1)备份目录:

# cd /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/

# cp -r hive hive.bak

2)清空,重新拷贝 hive jar 包和它的依赖包

rm -rf /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive/*

cp -r /usr/hdp/2.6.1.0-129/hive/lib/hive-common*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp -r /usr/hdp/2.6.1.0-129/hive/lib/hive-jdbc*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp -r /usr/hdp/2.6.1.0-129/hive/lib/hive-exec*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp -r /usr/hdp/2.6.1.0-129/hive/lib/hive-metastore*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp -r /usr/hdp/2.6.1.0-129/hive/lib/hive-service*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp -r /usr/hdp/2.6.1.0-129/hive/lib/libfb303*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp -r /usr/hdp/2.6.1.0-129/hive/lib/libthrift*.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

chmod -R a+x /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

cp ../hive.bak/ranger-hive-plugin-0.7.0.2.6.1.0-129.jar /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive/

3)改变拥有者

chown -R ranger:ranger /usr/hdp/2.6.1.0-129/ranger-admin/ews/webapp/WEB-INF/classes/ranger-plugins/hive

4)重启 ranger 服务,然后测试连接。

 

3、Ranger 集成 Atlas 的安全认证机制与配置

(1) 解压 ranger-Atlas 插件,略

  (2) 修改配置文件,将 install.properties 文件中相应的地方修改如下:

 

      POLICY MGR_ URL=http://Yours IP:6080

      SQL_ CONNECTOR_ JAR=/usr/ share/java/mysql-connector-java-5.1.38-bin.jar

REPOSITORY NAME=At lasdev

XAAUDIT.SOLR.ENABLE=true

      XAAUDIT.SOLR. URL=http://Yours IP:6083/so1r/ranger_ audits

 

      组件对应的用户,这里设置为空。一般 Hadoop 的内置用户是 hdfs 或者 hadoop。

      CUSTOM_ _USER=hdfs

CUSTOM_ _GROUP=hadoop

 

(3)软连接 Atlas 下的 conf 和 lib

 

在集群的主节点上,使用 root 用户,在任意目录下操作如下命令:

 

mkdir /usr/local/Atlas

 ln -s  /var/local /hadoop/Atlas-0.7/conf/ /usr/local/Atlas/conf

ln -s  /var/ 1ocal/hadoop/Atlas-0.7/server/webapp/Atlas/WEB- INF/lib  /usr/ local/Atlas/libext

 

cd /usr/1ocal/ ranger-Atlas-plugin/

./enable-Atlas-plugin.sh.

#建立软连接后,启用 Atlas 插件 #文件夹 Atlas 需要新建

#若遇到缺少 jar 包,将 guava-17.0.jar 导入/usr/1ocal/ranger-plugin/install/lib 即可

 

(4)启动 Atlas

 

      如果前面启动过 Atlas,需要重新启动。然后在集群的主节点上,使用 root 用户,在任意目录下操作如下命令:

      cd /var/local/hadoop/Atlas-0.7 $ ./bin/Atlas_ start.py

      #正常情况下,若显示 Apache Atlas Server started!!!,则表示 Atlas 服务器已经启动。

 

(5)在 Ranger Web UI 中添加 Atlas 服务

 

      打开浏览器,这里使用的是 Chrome (没有测试过其他浏览器,用户可以自行测试)。在浏览器中地址栏中输入:

 

      http://Yours IP:6080

 

     #在 Service Manage 中新建 一个 Atlas 服务,修改其中配置项,标记有*号的部分为必填的选项

 

Service Name = Atlasdev

Username=hdfs

Password=123456

Atlas. rest . address=http://atlas 的 IP:21000

 

保存后,可以在 Audit -→Plugins 中看到 Atlas 插件安装成功。

 


发布于: 2021 年 03 月 27 日阅读数: 9
用户头像

还未添加个人签名 2021.03.07 加入

还未添加个人简介

评论

发布
暂无评论
Apache Ranger安全认证配置