这篇文章写之前,要先感谢博客园的一位博主,能一直帮助我在安装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
Apache Ranger是一个在Hadoop平台上实现,监控和管理全面数据安全性的框架。Ranger比Sentry好在哪儿
web :管理用户、资源、权限策略
框架 | 版本号 |
---|---|
Linux | centos7 |
Ranger | 2.0.0 |
Hadoop | 3.1.3 |
Hive | 3.1.2 |
Maven | 3.6.1 |
Python | 2.7.5 |
由于Ranger不提供二进制安装包,故需要maven编译。下面是详细步骤
温馨提示:最好全程使用root用户,免去不必要的权限烦恼‘
改配置文件,最好先把配置文件做个备份,以防止自己一顿操作猛如虎,结果却像250
不管各位的Ranger安装包是自己在官网下的,还是使用git拉取的,请务必安装git(我就是因为没装git搞了好久)
yum install -y git
wget http://mirrors.tuna.tsinghua.edu.cn/apache/ranger/2.0.0/apache-ranger-2.0.0.tar.gz
tar -zxvf apache-ranger-2.0.0.tar.gz -C /opt/module
vim pom.xml
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
# tar -zxvf apache-maven-3.6.2-bin.tar.gz
# vim /etc/bashrc
export MAVEN_HOME=/opt/software/apache-maven-3.6.1
export PATH=$PATH:$MAVEN_HOME/bin
MAVEN_OPTS=-Xmx2048m
export JAVA_HOME MAVEN_HOME MAVEN_OPTS JAVA_BIN PATH CLASSPATH
# pwd
/opt/software/apache-maven-3.6.1/conf
# vim settings.xml
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
CN
OSChina Central
http://maven.oschina.net/content/groups/public/
central
alimaven
central
aliyun maven
https://maven.aliyun.com/nexus/content/repositories/central/
jboss-public-repository-group
central
JBoss Public Repository Group
https://repository.jboss.org/nexus/content/groups/public
mvn clean compile package assembly:assembly install -DskipTests -Drat.skip=true
这个过程整体是比较慢的,顺利的话可能1小时左右,也有可能4小时以上,哈哈,还有是如果不动了,千万别以为卡住了,是因为它在下载一些jar包或者依赖,镜像是国外的,所以比较慢,只需要耐心等待就好了,当然你ctrl + C 掉,再重新编译也是没问题的
我遇到的第一个问题
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的版本号,其余的没做修改。
[INFO] ------------------------------------------------------------------------
[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
[ERROR] around Ant part ...... @ 4:48 in /data/apache-ranger-1.0.0/ranger-util/target/antrun/build-main.xml
[ERROR] -> [Help 1]
org.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: 1
around Ant part ...... @ 4:48 in /data/apache-ranger-1.0.0/ranger-util/target/antrun/build-main.xml
这问题看起来是pyrhon版本的问题,而且它还建议我执行以下命令:
mvn org.apache.maven.plugins:maven-antrun-plugin:1.7:run -rf :ranger-util
这个命令我终于执行成功后却还是没有tar包,最后博主提醒我其实是没有装git,所以一再强调各位,安装git
tar -zxvf ranger-2.0.0-admin.tar.gz
vim install.properties
# 指定一个Mysql的驱动,需要自己指定一个jar包 SQL_CONNECTOR_JAR=/opt/software/mysql-connector-java-5.1.27-bin.jar
# 配置Mysql数据库的信息
db_root_user=root
db_root_password=123456
db_host=192.168.13.101
# 安装时会使用上面的root用户创建如下数据库
db_name=ranger
db_user=ranger
db_password=123456
#登录ranger-admin的用户名密码:admin/Admin123
rangerAdmin_password=Admin123
rangerTagsync_password=Admin123
rangerUsersync_password=Admin123
keyadmin_password=Admin123
#audit_store=solr
# * audit_solr_url URL to Solr. E.g. http://:6083/solr/ranger_audits
#audit_solr_urls=
#audit_solr_user=
#audit_solr_password=
#audit_solr_zookeepers=
# 配置RangerAdmin使用DB作为audit审计日志
audit_store=db
audit_db_name=ranger_audit
audit_db_user=ranger_audit
audit_db_password=123456
policymgr_external_url=http://hadoop101(这里是自己的主机名):6080
policymgr_http_enabled=true
policymgr_https_keystore_file=
policymgr_https_keystore_keyalias=rangeradmin policymgr_https_keystore_password=123456
unix_user=ranger
unix_user_pwd=ranger
unix_group=ranger
./setup.sh
ews/ranger-admin-services.sh start
http://hadoop101:6080/index.html#!/policymanager/resource
用户名:admin 密码:Admin123
//在target目录下,解压文件
tar -zxvf ranger-2.0.0-usersync.tar.gz
cd ranger-2.0.0-usersync
vim install.properties
POLICY_MGR_URL=http://:6080(这里不要动,就是这样)
SYNC_SOURCE=unix
SYNC_INTERVAL=1
logdir=/opt/module/apache-ranger-2.0.0/target/ranger-2.0.0-usersync/logs(改成自己的目录)
./setup.sh
./ranger-usersync-services.sh
注意:logdir 文件夹需要自己创建,不然初始化可能会报错。
验证是否安装成功:在Ranger控制台可以看到users中同步的用户信息。
tar -zxvf ranger-2.0.0-hdfs-plugin.tar.gz
tar -zxvf ranger-2.0.0-hdfs-plugin.tar.gz
cd ranger-1.2.0-usersync
vim install.properties
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar(根据自己的目录进行填写,jar包我分享的文件里有)
POLICY_MGR_URL=http://hadoop101:6080 REPOSITORY_NAME=hadoopdev COMPONENT_INSTALL_DIR_NAME=/opt/module/hadoop-3.1.3(自己的hadoop安装目录)
CUSTOM_USER=hdfs
CUSTOM_GROUP=hadoop
./enable-hdfs-plugin.sh
hadoop版本需要和之前安装Ranger Pom文件中配置的一样。我这里是3.1.3
useradd ranger_zy
gpasswd -a ranger_zy hadoop
su ranger_zy
hdfs dfs -ls /
测试ranger_zy是否可以对/test目录进行写操作切换到ranger_zy用户
hdfs dfs -put /opt/module/111.txt /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