nexus 安装_大数据权限管理工具Ranger2.0.0的安装部署到使用测试(踩坑详情)

hello,大家好,我是后来。

这篇文章写之前,要先感谢博客园的一位博主,能一直帮助我在安装ranger过程中解决问题,特别感谢!!!下面贴一下他的博客地址,日常写的文章还是非常有营养的。https://www.cnblogs.com/swordfall/

安装所用到的Ranger2.0.0版本以及Maven3.6.1还有Mysql5.7.25全套rpm包都给大家准备好了,自行下载。
链接:https://pan.baidu.com/s/1Sd-iU5cPYITVXyHO5a0A_Q
提取码:8utl

一、Ranger的介绍

Apache Ranger是一个在Hadoop平台上实现,监控和管理全面数据安全性的框架。Ranger比Sentry好在哪儿

  1. sentry的好处都有

  2. 更加丰富的组件

  3. 支持审计

  4. 提供rest风格的API,可以自由开发

二、Ranger的架构

5f4c11a949a7da4c2bd8394196fcb12e.png
在这里插入图片描述
1157020227c5b9b3afbca16e0330a0ed.png
在这里插入图片描述

Rager-admin 是基于Spring的框架

web :管理用户、资源、权限策略

rest api :可以自己实现

29fef189f22a225f5e28f5b9a8f4c6f7.png
在这里插入图片描述

三、Ranger的安装与部署

框架版本号
Linuxcentos7
Ranger2.0.0
Hadoop3.1.3
Hive3.1.2
Maven3.6.1
Python2.7.5

由于Ranger不提供二进制安装包,故需要maven编译。下面是详细步骤温馨提示:最好全程使用root用户,免去不必要的权限烦恼,改配置文件,最好先把配置文件做个备份,以防止自己一顿操作猛如虎,结果却像250

1、安装git(务必安装)

不管各位的Ranger安装包是自己在官网下的,还是使用git拉取的,请务必安装git(我就是因为没装git搞了好久)

1yum install -y git 

2、下载Ranger安装包

  1. 我是直接在官网下的,http://ranger.apache.org/download.html,下载自己需要的版本。(建议使用这种,下载快一点)

  2. 也可以在线下载(需要先安装wget命令)

1wget http://mirrors.tuna.tsinghua.edu.cn/apache/ranger/2.0.0/apache-ranger-2.0.0.tar.gz
  1. 上传到/opt/software(自己放软件的目录),并进行解压到/opt/module/(自己想要的位置)

1 tar -zxvf apache-ranger-2.0.0.tar.gz -C /opt/module
  1. 修改ranger的当前目录下pom文件内的hadoop和hive版本号

1vim pom.xml
9a947d6aaffa66d84a43c4e28d82c05c.png
在这里插入图片描述

其他版本各位随意,尽量少改,容易出错

3、下载maven

  1. 因为是编译安装,自然要使用到maven,我自然贴心的帮你准备好了maven的安装包,当然你也可以自己下载

1wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
  1. 解压后修改环境变量及内存

1# tar -zxvf apache-maven-3.6.2-bin.tar.gz
2
3# vim /etc/bashrc
4export MAVEN_HOME=/opt/software/apache-maven-3.6.1
5export PATH=$PATH:$MAVEN_HOME/bin
6
7MAVEN_OPTS=-Xmx2048m
8export JAVA_HOME MAVEN_HOME MAVEN_OPTS JAVA_BIN PATH CLASSPATH
  1. 修改maven源为阿里源或网易源

 1# pwd
2/opt/software/apache-maven-3.6.1/conf
3# vim settings.xml
4<mirrors>
5   <mirror>
6     <id>nexus-aliyunid>
7     <mirrorOf>centralmirrorOf>
8     <name>Nexus aliyunname>
9     <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
10   mirror>
11
12   <mirror>
13     <id>CNid>
14     <name>OSChina Centralname>
15     <url>http://maven.oschina.net/content/groups/public/url>
16     <mirrorOf>centralmirrorOf>
17   mirror>
18
19   <mirror>
20     <id>alimavenid>
21     <mirrorOf>centralmirrorOf>
22     <name>aliyun mavenname>
23     <url>https://maven.aliyun.com/nexus/content/repositories/central/url>
24   mirror>
25
26   <mirror>
27     <id>jboss-public-repository-groupid>
28     <mirrorOf>centralmirrorOf>
29     <name>JBoss Public Repository Groupname>
30     <url>https://repository.jboss.org/nexus/content/groups/publicurl>
31   mirror>
32mirrors>

4、开始编译

  1. 进行buile(跳过测试类)

1mvn clean compile package assembly:assembly install -DskipTests -Drat.skip=true

这个过程整体是比较慢的,顺利的话可能1小时左右,也有可能4小时以上,哈哈,还有是如果不动了,千万别以为卡住了,是因为它在下载一些jar包或者依赖,镜像是国外的,所以比较慢,只需要耐心等待就好了,当然你ctrl + C 掉,再重新编译也是没问题的

  1. 我遇到的第一个问题

    a70ada56350cfaf3c264747bf55380c0.png
    在这里插入图片描述


    Maven build Compilation error : Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:testcompile (default-compile) on project Maven这个问题是因为我乱改了pom文件中Hbase的版本号,最后我只改了hive和Hadoop的版本号,其余的没做修改。

  2. 我遇到的第二个问题

    5fd5bd9f5cf471084deb54f9d9c535b6.png
    在这里插入图片描述
1[INFO] ------------------------------------------------------------------------
2[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (generate-version-annotation) on project ranger-util: An Ant BuildException has occured: exec returned: 1
3[ERROR] around Ant part ..."true" executable="python">... @ 4:48 in /data/apache-ranger-1.0.0/ranger-util/target/antrun/build-main.xml4[ERROR] -> [Help 1]5org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (generate-version-annotation) on project ranger-util: An Ant BuildException has occured: exec returned: 16around Ant part ..."true" executable="python">... @ 4:48 in /data/apache-ranger-1.0.0/ranger-util/target/antrun/build-main.xml

这问题看起来是pyrhon版本的问题,而且它还建议我执行以下命令:

1mvn org.apache.maven.plugins:maven-antrun-plugin:1.7:run -rf :ranger-util

这个命令我终于执行成功后却还是没有tar包,最后博主提醒我其实是没有装git,所以一再强调各位,安装git

  1. 若编译过程中出现缺少jar包的情况,可能下载不了,需要手动自动添加;

  2. 最后编译成功后的界面

    23b11bc65327d470335c366411eff296.png
    在这里插入图片描述


    我花了3天时间,终于编译好了,开心

  3. 检查当前目录下的target目录,会有一堆tar.gz包(看到这些,说明你编译成功了)

    5cc0d01966a978609060d9ccf91cf279.png
    在这里插入图片描述

5、安装Ranger控制台:Ranger-admin

  1. 安装Ranger控制台:Ranger-admin,需要所使用root用户,ranger-admin依赖mysql、JDK(安装mysql和JDK,各位自己百度吧)

  2. 在target目录下,解压Ranger-admin,修改配置

 1tar -zxvf ranger-2.0.0-admin.tar.gz
2
3vim install.properties
4
5# 指定一个Mysql的驱动,需要自己指定一个jar包 SQL_CONNECTOR_JAR=/opt/software/mysql-connector-java-5.1.27-bin.jar 
6
7# 配置Mysql数据库的信息 
8db_root_user=root
9db_root_password=123456
10db_host=192.168.13.101
11
12# 安装时会使用上面的root用户创建如下数据库
13db_name=ranger
14db_user=ranger
15db_password=123456
16
17#登录ranger-admin的用户名密码:admin/Admin123
18rangerAdmin_password=Admin123
19rangerTagsync_password=Admin123
20rangerUsersync_password=Admin123
21keyadmin_password=Admin123
22#audit_store=solr 
23
24# * audit_solr_url URL to Solr. E.g. http://:6083/solr/ranger_audits 
25#audit_solr_urls= 
26#audit_solr_user= 
27#audit_solr_password= 
28#audit_solr_zookeepers=
29
30# 配置RangerAdmin使用DB作为audit审计日志
31audit_store=db
32audit_db_name=ranger_audit
33audit_db_user=ranger_audit
34audit_db_password=123456
35
36policymgr_external_url=http://hadoop101(这里是自己的主机名):6080
37policymgr_http_enabled=true
38policymgr_https_keystore_file=
39policymgr_https_keystore_keyalias=rangeradmin policymgr_https_keystore_password=123456
40
41unix_user=ranger
42unix_user_pwd=ranger
43unix_group=ranger
  1. 使用root用户执行如下脚本,安装RangerAdmin

1./setup.sh
  1. 启动ranger-admin

1ews/ranger-admin-services.sh start
  1. web登录验证是否安装

1http://hadoop101:6080/index.html#!/policymanager/resource
2用户名:admin 密码:Admin123
9a8487e5d0010060382f7b6f8c0c3385.png
在这里插入图片描述
  1. 安装ranger Usersync,需要使用root用户

 1//在target目录下,解压文件
2tar -zxvf ranger-2.0.0-usersync.tar.gz
3
4cd ranger-2.0.0-usersync
5
6vim install.properties
7
8POLICY_MGR_URL=http://:6080(这里不要动,就是这样) 9SYNC_SOURCE=unix10SYNC_INTERVAL=111logdir=/opt/module/apache-ranger-2.0.0/target/ranger-2.0.0-usersync/logs(改成自己的目录)
  1. 启动ranger Usersync

1 ./setup.sh
2./ranger-usersync-services.sh

注意:logdir 文件夹需要自己创建,不然初始化可能会报错。
验证是否安装成功:在Ranger控制台可以看到users中同步的用户信息。

21fc542ebc00392e70666aabbad0e208.png
在这里插入图片描述

6、安装ranger插件(安装ranger-hdfs)

  1. 使用root用户,解压

1tar -zxvf ranger-2.0.0-hdfs-plugin.tar.gz
  1. 修改配置文件

1tar -zxvf ranger-2.0.0-hdfs-plugin.tar.gz
2cd ranger-1.2.0-usersync
3
4vim install.properties 
5
6SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar(根据自己的目录进行填写,jar包我分享的文件里有)
7POLICY_MGR_URL=http://hadoop101:6080 REPOSITORY_NAME=hadoopdev COMPONENT_INSTALL_DIR_NAME=/opt/module/hadoop-3.1.3(自己的hadoop安装目录)
8CUSTOM_USER=hdfs
9CUSTOM_GROUP=hadoop
  1. 启动Ranger HDFS Plugin:

1./enable-hdfs-plugin.sh
  1. 验证安装成功步骤

  • 会发现hadoop安装目录下etc/hadoop下有ranger-hdfs的xml文件

    099a88502bd44630ae48ce7a97fc07d3.png
    在这里插入图片描述
  • 会发现share/hadoop/hdfs/lib 下有ranger-hdfs开头的软连接

    f081a0e33698628d0ad4cb53181d96e0.png
    在这里插入图片描述
  • 启动hdfs会发现/etc/ranger/hadoopdev/policycache下有策略缓存文件

    7d223bb6f12c22233d579ea50c858525.png
    在这里插入图片描述
  • 然后在ranger-admin的audit-->plugin status 查看状态,200即为安装成功

  1. 登录ranger-admin,点击HDFS plugin 添加按钮,添加服务

    6ba443086ccaf2828fff6216bfe7e1cb.png
    在这里插入图片描述
  2. 然后点击TestConnection,成功即可保存。1分钟后查看plugin,状态为200,说明hdfs安装成功

    4126f7be25b892c201d1a250edfb6749.png
    在这里插入图片描述

7、测试是否可用(HDFS服务测试)

hadoop版本需要和之前安装Ranger Pom文件中配置的一样。我这里是3.1.3

  1. linux环境下添加用户

1useradd ranger_zy
2gpasswd -a ranger_zy hadoop
  1. 如果可以同步,直接不用在ranger上添加此用户,但是如果不能同步需要添加(我的需要自己在ranger上同步)

  2. 在没有添加ranger之前进行测试,切换到ranger_zy用户

1su ranger_zy
2hdfs dfs -ls /

测试ranger_zy是否可以对/test目录进行写操作切换到ranger_zy用户

1hdfs dfs -put /opt/module/111.txt /test(自己搞个文件测试一下上传)
2//结果应该是权限问题不能上上传
  1. 在添加ranger之后进行操作
    在ranger中对此ranger_zy用户进行权限操控

    172acb5c772915f4ad59feea405ed0e0.png
    在这里插入图片描述


    点击保存等待生效(30s)后,再次对/test目录进行操作,看是否可以成功

到这里基本实现了Ranger的hdfs权限的管理,大家自己慢慢研究这个Ranger吧,内容还是非常多的。

致谢

能把Ranger从不懂到能搭起来,还能略微知道些其中的架构原理,感谢众多博客的帮助,贴几个过程中非常重要的链接。
1、https://www.cnblogs.com/swordfall/p/11887317.html
2、https://www.ixigua.com/pseries/6756754286144651779_6756564943463514627/?logTag=Crrlgz-qLEYXlv51gaU-J


如果大家在编译过程中遇到一些问题,也可以直接联系我(l970306love),说不定你的这个问题我正好遇到过,可以节省很多没必要的时间,哈哈。

编译要有一颗平常心,按照一个帖子的方法装就好,不然最后装的乱七八糟的。加油。

欢迎各位需要的小伙伴点赞、转发、收藏,这对我很重要,以防自己需要的时候找不到!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值