Apache Ranger 2.6.0 配置参数详解
Apache Ranger 2.6.0 配置参数详解:逐项说明 install.properties 的数据库、Solr 审计、管理台认证与 JVM 堆参数,含参数总览、修改生效方式与 16GB 内存生产配置模板,均基于实测。
Apache Ranger 2.6.0 配置参数详解
目标:详解 Apache Ranger 2.6.0 Admin 的核心配置——
install.properties(数据库连接、Solr 审计存储、管理台与认证、JVM 堆 256-512MB),说明参数查看与修改生效方式,并给出可直接套用的生产配置模板。参数含义与实测值均基于真实环境验证。
一、环境信息
- 操作系统:Ubuntu 22.04 LTS(x86_64)
- Apache Ranger:2.6.0(ranger-2.6.0-admin.tar.gz)
- 安装目录:
/opt/ranger-admin - 配置文件:
/opt/ranger-admin/install.properties(初始化主配置) - 启动脚本:
/opt/ranger-admin/ews/ranger-admin-services.sh(JVM 参数) - 元数据库:MariaDB 10.6.23(127.0.0.1:3306,库名 ranger)
- 审计存储:Solr 8.11.4(端口 6083,collection ranger_audits)
- 管理台端口:6080(内嵌 Tomcat EmbeddedServer)
二、前置条件
- 已按《Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南》完成 Ranger Admin 安装(本机 MariaDB + Solr)。
- 修改
install.properties需重跑setup.sh生效;修改启动脚本 JVM 参数需重启服务(命令见第三章)。
三、参数查看与修改方式
Ranger Admin 的初始化配置集中在 /opt/ranger-admin/install.properties,键值格式 key=value:
grep -v '^#' /opt/ranger-admin/install.properties | grep -v '^$'
修改流程:
- 编辑
/opt/ranger-admin/install.properties(修改前先cp install.properties install.properties.bak备份); - 重跑初始化使配置落库/落配置:
cd /opt/ranger-admin && bash setup.sh(schema 已导入时幂等); - 重启服务:
bash /opt/ranger-admin/ews/ranger-admin-services.sh restart。
JVM 堆参数不在 install.properties 生效路径上,直接改启动脚本(见 5.4)。
四、参数总览
| 参数 | 含义 | 本指南实测值 |
|---|---|---|
setup_mode | 安装模式(默认 Default 含 DBA 步骤;外部数据库用 SeparateDBA) | 默认 / SeparateDBA |
DB_FLAVOR | 数据库类型 | MYSQL |
SQL_CONNECTOR_JAR | MySQL 驱动 jar 绝对路径 | /usr/share/java/mysql-connector-java.jar |
db_root_user / db_root_password | 数据库 root 账号(DBA 步骤建库用) | root / q1w2e3r4 |
db_host | 数据库主机 | localhost |
db_name | Ranger 元数据库名 | ranger |
db_user / db_password | Ranger 数据库账号 | rangeradmin / q1w2e3r4 |
db_ssl_enabled / db_ssl_required | 数据库 SSL | false / false |
audit_store | 审计存储类型 | solr |
audit_solr_urls | Solr 审计地址 | http://localhost:6083/solr/ranger_audits |
audit_solr_collection_name | Solr collection 名 | ranger_audits |
audit_solr_config_name | Solr 配置集名 | ranger_audits |
audit_solr_bootstrap_enabled | 是否自动引导 Solr core | true |
audit_solr_no_shards / audit_solr_no_replica | collection 分片/副本数 | 1 / 1 |
audit_solr_max_shards_per_node | 每节点最大分片数 | 1 |
rangerAdmin_password | 管理台 admin 初始密码 | 默认 admin(改密见 FAQ 7.2) |
rangerTagsync_password / rangerUsersync_password / keyadmin_password | Tagsync/Usersync/KeyAdmin 初始密码 | 默认值 |
authentication_method | 用户认证方式 | NONE(本文) |
remoteLoginEnabled | 是否启用远程登录 | true |
policymgr_external_url / policymgr_http_enabled | 对外管理台地址/HTTP 开关 | http://localhost:8080 / true |
unix_user | 运行 Ranger 的系统用户 | ranger(setup.sh 自动创建) |
PYTHON_COMMAND_INVOKER | Python 解释器 | python3 |
JAVA_BIN / JAVA_VERSION_REQUIRED | Java 命令/最低版本 | java / 1.8 |
RANGER_ADMIN_LOG_DIR / RANGER_PID_DIR_PATH | 日志目录/PID 目录 | /var/log/ranger/admin / /var/run/ranger |
LOGFILE / LOGFILES | setup 过程日志 | $PWD/logfile |
ranger_admin_max_heap_size | Admin JVM 堆上限(-Xmx) | 512m(默认 1g) |
五、核心参数分类详解
5.1 数据库连接参数
5.1.1 DB_FLAVOR 与 SQL_CONNECTOR_JAR
DB_FLAVOR=MYSQL
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
DB_FLAVOR 支持 MYSQL/POSTGRES/ORACLE/SQLSERVER 等;SQL_CONNECTOR_JAR 必须指向真实存在的驱动 jar(本指南用 mysql-connector-j 8.0.33,下载命令见《Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南》4.6)。setup.sh 会把该 jar 复制到 ews/webapp/WEB-INF/lib。
5.1.2 db_host / db_name / db_user / db_password
db_host=localhost
db_name=ranger
db_user=rangeradmin
db_password=q1w2e3r4
Ranger 元数据库连接信息。db_user 需预先在数据库中创建并授予 ranger.* 权限(见《Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南》4.7)。数据库与 Ranger 分离部署时 db_host 改为数据库服务器 IP,并配合 setup_mode=SeparateDBA(见 FAQ 7.4)。
5.1.3 db_root_user / db_root_password 与 SSL
db_root_user=root
db_root_password=q1w2e3r4
db_ssl_enabled=false
db_ssl_required=false
db_root_* 用于 DBA 步骤建库建用户;db_ssl_enabled=false 表示连接不启用 SSL(本指南单机内网场景)。生产强安全要求下可开 TLS,需同时准备证书并在驱动连接串中配置。
5.2 审计存储(Solr)参数
5.2.1 audit_store
audit_store=solr
审计存储类型。Ranger 支持 solr 与 elasticsearch;本指南使用 Solr 8.11.4 standalone(端口 6083)。
5.2.2 audit_solr_urls / collection / config
audit_solr_urls=http://localhost:6083/solr/ranger_audits
audit_solr_collection_name=ranger_audits
audit_solr_config_name=ranger_audits
audit_solr_urls 为审计写入地址(可配多个逗号分隔);collection 与 config 名默认都是 ranger_audits。Solr 侧需预先存在同名 core(solr.xml + ranger_audits 目录,见《Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南》4.5),否则审计写入 404。
5.2.3 audit_solr_bootstrap_enabled
audit_solr_bootstrap_enabled=true
是否在初始化时自动引导(bootstrap)Solr collection。实测 Ranger 2.6.0 主 setup.sh 不执行 bootstrap,core 需手动预置;该参数保持 true 供引导逻辑使用,预置 core 后效果一致。
5.2.4 分片/副本参数
audit_solr_no_shards=1
audit_solr_no_replica=1
audit_solr_max_shards_per_node=1
单机 standalone 场景均为 1;SolrCloud 集群按节点数与副本策略调整(如 3 节点 2 副本:no_shards=3、no_replica=2)。
5.3 管理台与认证参数
5.3.1 管理台端口与对外地址
管理台默认端口 6080(内嵌 Tomcat EmbeddedServer 监听,实测 ss -tlnp 确认)。对外访问地址与 HTTP 开关:
policymgr_external_url=http://localhost:8080
policymgr_http_enabled=true
⚠️
policymgr_external_url默认是 8080 端口占位;实际管理台端口以 6080 为准(实测登录页/REST 均在 6080)。若配置反向代理或改端口,需同步该地址与防火墙策略。
5.3.2 认证方式
authentication_method=NONE
remoteLoginEnabled=true
authentication_method 支持 NONE(内置用户)/ LDAP / ACTIVE_DIRECTORY / UNKNOWN 等;本文档使用内置用户认证(NONE),管理员在管理台或 changepasswordutil.py 中维护。remoteLoginEnabled=true 允许远程登录。
5.3.3 初始密码参数
rangerAdmin_password=admin
rangerTagsync_password=rangertagsync
rangerUsersync_password=rangerusersync
keyadmin_password=keyadmin
4 个内置账号的初始密码。⚠️ 密码策略要求至少 8 位且含大写、小写、数字;Ranger 2.6.0 setup.sh 的自动改密环节存在缺陷——非默认密码时可能失败甚至中断安装(详见《Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南》8.3)。稳妥做法:保持默认,安装完成后用 python3 /opt/ranger-admin/changepasswordutil.py admin admin Q1w2e3r4 手动改密。
5.4 环境与 JVM 参数
5.4.1 Python 与 Java
PYTHON_COMMAND_INVOKER=python3
JAVA_BIN='java'
JAVA_VERSION_REQUIRED='1.8'
初始化脚本用 python3 执行 db_setup.py 等;Ranger 官方要求 Java 1.8,安装环境实测 OpenJDK 1.8.0_504,JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64。
5.4.2 日志与 PID 目录
RANGER_ADMIN_LOG_DIR=/var/log/ranger/admin
RANGER_PID_DIR_PATH=/var/run/ranger
LOGFILE=$PWD/logfile
LOGFILES="$LOGFILE"
Admin 运行日志(含 gc-worker.log)在 /var/log/ranger/admin;setup 过程日志写在 install.properties 所在目录的 logfile。
5.4.3 JVM 堆内存(256-512MB)
JVM 参数在启动脚本 /opt/ranger-admin/ews/ranger-admin-services.sh 中,共两处:
- 第 35 行(-Xmx 上限来源):
ranger_admin_max_heap_size=1g→ 改为512m - 第 57 行(-Xms 初始堆):该行 -Xmx 部分引用脚本变量 ranger_admin_max_heap_size,只需把
-Xms1g改为-Xms256m
修改命令:
sed -i "s/^ranger_admin_max_heap_size=1g/ranger_admin_max_heap_size=512m/" /opt/ranger-admin/ews/ranger-admin-services.sh
sed -i "s/-Xms1g/-Xms256m/" /opt/ranger-admin/ews/ranger-admin-services.sh
重启并核对生效值:
bash /opt/ranger-admin/ews/ranger-admin-services.sh restart
jps -v | grep EmbeddedServer
回显(节选,可见 -Xms256m -Xmx512m):
21655 EmbeddedServer -Dproc_rangeradmin ... -Xmx512m -Xms256m -Xloggc:/var/log/ranger/admin/gc-worker.log ...
💡 Ranger Admin 主要承担策略存取与审计转发,堆无需过大,256-512MB 足够;各数据组件(HDFS/Hive 等)的权限检查在组件侧进程内完成,不占 Admin 堆。
六、生产配置模板
适用场景:16GB 内存、SSD 磁盘、单 Ranger Admin + 本机 Solr 审计,对外提供策略管理服务(HDFS/Hive 等组件经插件连接)。
setup_mode=SeparateDBA
PYTHON_COMMAND_INVOKER=python3
DB_FLAVOR=MYSQL
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
db_root_user=root
db_root_password=q1w2e3r4
db_host=localhost
db_name=ranger
db_user=rangeradmin
db_password=q1w2e3r4
db_ssl_enabled=false
db_ssl_required=false
rangerAdmin_password=admin
rangerTagsync_password=rangertagsync
rangerUsersync_password=rangerusersync
keyadmin_password=keyadmin
audit_store=solr
audit_solr_urls=http://localhost:6083/solr/ranger_audits
audit_solr_collection_name=ranger_audits
audit_solr_config_name=ranger_audits
audit_solr_bootstrap_enabled=true
audit_solr_no_shards=1
audit_solr_no_replica=1
audit_solr_max_shards_per_node=1
policymgr_external_url=http://<管理台对外地址>:6080
policymgr_http_enabled=true
unix_user=ranger
authentication_method=NONE
remoteLoginEnabled=true
ranger_admin_max_heap_size=512m
配合启动脚本 JVM 参数(5.4.3)将堆限制为 -Xms256m -Xmx512m。
内存/磁盘说明:16GB 内存机器上 Admin 堆 512MB、Solr 堆默认即可(本环境约 490MB),剩余内存留给数据组件;审计量大时按
audit_solr_no_shards/no_replica扩容 SolrCloud,并为/var/log/ranger与 Solr 数据目录预留 SSD 空间(建议 ≥50GB)。数据库与 Ranger 分离部署时,db_host改库服务器 IP,库/用户/授权预先手工完成。
七、常见问题
7.1 修改 install.properties 后不生效
原因:只改了文件未重跑 setup.sh 或未重启服务。
解决:cd /opt/ranger-admin && bash setup.sh(幂等)后 bash /opt/ranger-admin/ews/ranger-admin-services.sh restart,再以 ss -tlnp | grep 6080 与日志核对。
7.2 改密失败(Ranger all admins default password change request failed)
原因:密码不含大写字母等不满足策略(至少 8 位 + 大写 + 小写 + 数字);或 2.6.0 自动改密环节缺陷(仅单个账号设非默认密码时 setup.sh 可能 EXIT=1)。
解决:保持 4 个初始密码默认,安装后用 python3 /opt/ranger-admin/changepasswordutil.py admin admin Q1w2e3r4 手动改密。
7.3 setup.sh 报 JAVA_HOME environment property not defined
解决:先 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 再重跑 setup.sh。
7.4 报 Database creation failed / SQLSyntaxErrorException
解决:数据库与 Ranger 分离(或 JISQL 解析异常)时设置 setup_mode=SeparateDBA 跳过 DBA 步骤,库、用户、授权预先手工完成。
7.5 JVM 堆改了不生效(jps -v 仍显示 -Xms1g -Xmx1g)
解决:确认修改的是 /opt/ranger-admin/ews/ranger-admin-services.sh(非 install.properties),且 sed -i "s/-Xms1g/-Xms256m/" 成功(grep 核对 grep -n Xms /opt/ranger-admin/ews/ranger-admin-services.sh),重启后 jps -v | grep EmbeddedServer 复核。
7.6 审计写入报 404(Solr core ranger_audits 不存在)
解决:按《Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南》4.5 预置 solr_home 下 solr.xml 与 ranger_audits core(含 core.properties、conf),确保 audit_solr_urls 与 core 名一致。
八、参考链接
- Apache Ranger 官方文档:https://ranger.apache.org/
- Apache Ranger 下载页:https://dlcdn.apache.org/ranger/
- Apache Solr 文档:https://solr.apache.org/guide/solr/latest/