RyanCheung Ignition sequence start

Ranger安装手册


下载编译Ranger

Ranger没有提供编译好的二进制安装包,需要自行下载并使用maven进行编译。

  • 安装环境
Ubuntu 18.04
JDK8
Maven3.6.0
Python 2.7(Python3可能报错)
MySQL 5.1
  • 下载安装Ranger,并将解压到/opt/ranger下,本文档基于2.0.0版本
sudo wget https://downloads.apache.org/ranger/2.0.0/apache-ranger-2.0.0.tar.gz
  • 修改pom.xml的maven和jdk版本
sudo vim /opt/ranger/pom.xml
<maven.version.required>3.6.0</maven.version.required>
<java.version.required>1.8</java.version.required>
<javac.source.version>1.8</javac.source.version>
<javac.target.version>1.8</javac.target.version>
  • 编译:使用mvn进行编译时间较长,可以在mvn添加多线程参数,编译后的文件保存在./target目录下。
sudo mvn clean compile package assembly:assembly install -DskipTests -Drat.skip=true -T 3

安装Ranger-Admin组件

Ranger-Admin是一个基于Web的可视化界面,也是Ranger的权限授权主机。

  • 解压Ranger-Admin组件
sudo tar -zxvf ./target/ranger-2.0.0-admin.tar.gz
  • 修改install.properties配置
sudo vim ./target/ranger-2.0.0-admin/install.properties
# 确保mysql connector已配置,没有的话去官网下载
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar

# mysql root用户、密码、主机
db_root_user=root
db_root_password=password
db_host=localhost

#Ranger会建立一个ranger的数据库和用户,建议手动创建
db_name=ranger
db_user=ranger
db_password=rangeradmin

# admin 的url
policymgr_external_url=http://localhost:6080
policymgr_http_enabled=true
policymgr_https_keystore_file=
policymgr_https_keystore_keyalias=rangeradmin
policymgr_https_keystore_password=rangeradmin

#audit审计文件配置,设置为空表示不启动审计
audit_store=
  • 手动配置Ranger数据库(可选)
# 登录MySQL数据 mysql -h localhost -u root -p
create database ranger;
create user 'ranger'@'localhost' identified by 'rangeradmin';
create user 'ranger'@'%' identified by 'rangeradmin';
grant all privileges on ranger.* to ranger@'localhost' identified by 'rangeradmin';
grant all privileges on ranger.* to ranger@'%' identified by 'rangeradmin';
flush privileges;
  • 安装并运行Ranger-Admin
  1. 如果没有配置JAVA_HOME: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 2. 若安装时出现数据库问题,可以以ranger用户登录mysql手动刷sql脚本,查看具体出错位置并配置数据库:/opt/ranger/target/ranger-2.0.0-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
sudo ./target/ranger-2.0.0-admin/setup.sh
sudo ./target/ranger-2.0.0-admin/ews/ranger-admin-services.sh start
sudo ./target/ranger-2.0.0-admin/ews/ranger-admin-services.sh stop

安装Ranger-Usersync组件

Ranger-usersync是用户同步插件,支持从unix系统或者LDAP中同步用户到ranger中进行权限管控。

  • 解压Ranger-Usersync组件
sudo tar -zxvf ./target/ranger-2.0.0-usersync.tar.gz
  • 修改install.properties配置
sudo vim ./target/ranger-2.0.0-usersync/install.properties
#配置ranger admin的地址
POLICY_MGR_URL = http://localhost:6080

#同步源系统类型
SYNC_SOURCE = unix

#同步间隔时间 单位分钟 unix默认5 ldap 默认360
SYNC_INTERVAL = 5

#usersync程序运行的用户和用户组
unix_user=ranger
unix_group=ranger

#修改rangerusersync用户的密码。注意,此密码应与Ranger admin中install.properties的rangerusersync_password相同。
rangerUsersync_password=
  • 安装并启动
# export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
sudo ./target/ranger-2.0.0-usersync/setup.sh
sudo ./target/ranger-2.0.0-usersync/ranger-usersync-services.sh start

安装Ranger-Presto组件

注意,Ranger2.0.0仅仅支持PrestoSQL,后续更名的Trino由于java接口命名修改,Ranger暂时不兼容Trino,此处使用的是PrestoSQL332

  • 解压Ranger-Presto组件
sudo tar -zxvf ./target/ranger-2.0.0-presto.tar.gz
  • 修改install.properties配置
sudo vim ./target/ranger-2.0.0-presto/install.properties
#配置ranger admin的地址
POLICY_MGR_URL = http://localhost:6080

#配置Ranger配置名称(和RangerAdminUI中命名必须一致)
REPOSITORY_NAME=prestodev

#配置presto的路径地址
COMPONENT_INSTALL_DIR_NAME=/opt/presto/

#为了简单,此处不开启审计功能
XAAUDIT.SOLR.ENABLE=false

#此处手动添加该配置
XAAUDIT.SUMMARY.ENABLE=false
  • 启动前请先关闭Presto进程
# export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
sudo ./enable-presto-plugin.sh
sudo ./enable-presto-plugin.sh
  • 在Ranger中配置Presto后,再启动Presto

参考链接