Apache Ranger 2.6.0 配置参数详解

Apache Ranger 2.6.0 配置参数详解:逐项说明 install.properties 的数据库、Solr 审计、管理台认证与 JVM 堆参数,含参数总览、修改生效方式与 16GB 内存生产配置模板,均基于实测。

Apache RangerApache Ranger2026/10/13

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 '^$'

修改流程:

  1. 编辑 /opt/ranger-admin/install.properties(修改前先 cp install.properties install.properties.bak 备份);
  2. 重跑初始化使配置落库/落配置:cd /opt/ranger-admin && bash setup.sh(schema 已导入时幂等);
  3. 重启服务: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_JARMySQL 驱动 jar 绝对路径/usr/share/java/mysql-connector-java.jar
db_root_user / db_root_password数据库 root 账号(DBA 步骤建库用)root / q1w2e3r4
db_host数据库主机localhost
db_nameRanger 元数据库名ranger
db_user / db_passwordRanger 数据库账号rangeradmin / q1w2e3r4
db_ssl_enabled / db_ssl_required数据库 SSLfalse / false
audit_store审计存储类型solr
audit_solr_urlsSolr 审计地址http://localhost:6083/solr/ranger_audits
audit_solr_collection_nameSolr collection 名ranger_audits
audit_solr_config_nameSolr 配置集名ranger_audits
audit_solr_bootstrap_enabled是否自动引导 Solr coretrue
audit_solr_no_shards / audit_solr_no_replicacollection 分片/副本数1 / 1
audit_solr_max_shards_per_node每节点最大分片数1
rangerAdmin_password管理台 admin 初始密码默认 admin(改密见 FAQ 7.2)
rangerTagsync_password / rangerUsersync_password / keyadmin_passwordTagsync/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_INVOKERPython 解释器python3
JAVA_BIN / JAVA_VERSION_REQUIREDJava 命令/最低版本java / 1.8
RANGER_ADMIN_LOG_DIR / RANGER_PID_DIR_PATH日志目录/PID 目录/var/log/ranger/admin / /var/run/ranger
LOGFILE / LOGFILESsetup 过程日志$PWD/logfile
ranger_admin_max_heap_sizeAdmin 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 名一致。

八、参考链接