Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南

Apache Ranger 2.6.0 安装指南:在 Ubuntu 22.04 从零部署 Ranger Admin,覆盖 JDK8/MariaDB/Solr 前置、setup.sh 初始化与管理台 6080 登录改密,命令回显均实测。

Apache RangerApache Ranger2026/10/13

Ubuntu 22.04 安装 Apache Ranger 2.6.0 指南

目标:在真实 Ubuntu 22.04 服务器上从零安装 Apache Ranger 2.6.0 Admin(统一权限管理平台),覆盖前置组件(OpenJDK 8、MariaDB、Solr)、官方包下载、install.properties 配置、数据库初始化、setup.sh 建库建表与部署、服务启停、Web 管理台登录验证与管理员改密,以及 HDFS 插件接入示例。以下命令与回显均在 Ubuntu 22.04 真实环境逐步实测。

一、环境信息

  • 操作系统:Ubuntu 22.04 LTS(x86_64)
  • Java:OpenJDK 1.8.0_504(openjdk-8-jdk-headless),JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  • MariaDB:10.6.23(mariadb Ver 15.1 Distrib 10.6.23-MariaDB),监听 127.0.0.1:3306
  • Solr:8.11.4(安装目录 /opt/solr),standalone 模式,端口 6083,solr_home=/opt/solr/ranger_audit_server
  • Apache Ranger:2.6.0(ranger-2.6.0-admin.tar.gz,396,024,997 字节 ≈ 377MB),解压目录 /opt/ranger-admin
  • Ranger 管理台端口:6080(内嵌 Tomcat org.apache.ranger.server.tomcat.EmbeddedServer)
  • Ranger 数据库:ranger(用户 rangeradmin,密码 q1w2e3r4)
  • 运行用户:ranger(setup.sh 自动创建)
  • 示例账号:admin(Ranger 管理台初始账号 admin/admin,安装完成后修改为 Q1w2e3r4)

二、前置条件

  • 一台 Ubuntu 22.04 服务器,root 权限,可访问 Apache 官方镜像站 dlcdn.apache.org 与 Maven Central(下载 mysql-connector jar)。
  • 需安装 openjdk-8-jdk-headless(含 jps)、wget、python3、net-tools(含 netstat)、procps(命令见 4.1)。
  • ⚠️ 必须预先 export JAVA_HOME,否则 setup.sh 直接中止(见 4.8 与常见问题 8.1)。
  • 需先装好 MariaDB 与 Solr(见 4.2 / 4.3)。

三、版本选型说明

组件推荐版本说明
Apache Ranger2.6.0最新稳定版;2.6.0 起发布结构重组:组件包位于 services/、plugins/、tools/ 子目录(admin 包 URL 见 4.4)
OpenJDK8(1.8)Ranger 官方要求 Java 1.8
MariaDB10.6.x与 MySQL 8 兼容;本指南以 10.6.23 实测
Solr8.11.4Ranger 审计日志存储(standalone 模式,端口 6083)

💡 说明:Ranger Admin(管理台)是策略管理核心,负责存储策略与审计数据;各数据组件(HDFS/Hive 等)通过各自插件连接 Admin 拉取策略,插件接入示例见第六章。

四、部署步骤

4.1 更新软件源并安装基础工具

apt-get update -qq
DEBIAN_FRONTEND=noninteractive apt-get install -y \
    openjdk-8-jdk-headless wget python3 net-tools procps

验证版本回显:

# java -version
openjdk version "1.8.0_504"
OpenJDK Runtime Environment (build 1.8.0_504-8u504-ga-1ubuntu1~22.04.3-b01)
OpenJDK 64-Bit Server VM (build 25.504-b01, mixed mode)

4.2 安装并初始化 MariaDB

DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client
systemctl enable mariadb
systemctl start mariadb

验证版本回显:

# mariadb --version
mariadb  Ver 15.1 Distrib 10.6.23-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

为 root 设置密码(本指南演示密码 q1w2e3r4)并验证可登录:

mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('q1w2e3r4'); FLUSH PRIVILEGES;"
mysql -uroot -pq1w2e3r4 -e "SELECT VERSION();"

回显:10.6.23-MariaDB(与 mariadb --version 输出一致,说明密码登录可用)。

4.3 安装 Solr 8.11.4(standalone)

cd /opt
wget -O solr-8.11.4.tgz https://dlcdn.apache.org/solr/solr/8.11.4/solr-8.11.4.tgz
tar -xzf solr-8.11.4.tgz
mv solr-8.11.4 /opt/solr

💡 若 dlcdn 上 8.11.4 已归档下线,改用存档地址 https://archive.apache.org/dist/solr/solr/8.11.4/solr-8.11.4.tgz,命令一致。

确认版本:

/opt/solr/bin/solr version

回显:

8.11.4

4.4 下载并解压 Ranger Admin

cd /opt
wget -O ranger-2.6.0-admin.tar.gz \
  https://dlcdn.apache.org/ranger/2.6.0/services/admin/ranger-2.6.0-admin.tar.gz
tar -xzf ranger-2.6.0-admin.tar.gz
mv ranger-2.6.0-admin /opt/ranger-admin

包大小:396,024,997 字节(≈ 377MB),下载耗时取决于带宽。

💡 2.6.0 起官方发布结构重组,admin 包位于 services/admin/ 子目录(旧版本在根目录)。包内含 setup.sh、db_setup.py、ews/、contrib/solr_for_audit_setup/ 等。

4.5 预置 Solr 审计存储(solr_home 与 core)

Ranger 2.6.0 的 setup.sh 不会自动创建 Solr core,需预先在 solr_home 下准备好 solr.xml 与 ranger_audits core 目录(solr.xml 与 conf 文件取自 Ranger 安装包 contrib/solr_for_audit_setup/):

mkdir -p /opt/solr/ranger_audit_server/ranger_audits/conf
cp /opt/ranger-admin/contrib/solr_for_audit_setup/solr_standalone/solr.xml \
   /opt/solr/ranger_audit_server/solr.xml
cp -r /opt/ranger-admin/contrib/solr_for_audit_setup/conf/* \
   /opt/solr/ranger_audit_server/ranger_audits/conf/

创建 core.properties:

cat > /opt/solr/ranger_audit_server/ranger_audits/core.properties <<'EOF'
name=ranger_audits
config=solrconfig.xml
schema=managed-schema
dataDir=/opt/solr/ranger_audit_server/ranger_audits/data
EOF

启动 Solr(-s 指定 solr_home,-force 允许以 root 运行):

/opt/solr/bin/solr start -p 6083 -force -s /opt/solr/ranger_audit_server
/opt/solr/bin/solr status

回显(节选):

Found 1 Solr nodes:
Solr process 6026 running on port 6083
{
  "solr_home":"/opt/solr/ranger_audit_server",
  "version":"8.11.4",
  "startTime":"2026-10-12T16:17:17.435Z",
  "memory":"27.6 MB (%5.6) of 490.7 MB"}

确认 core 已加载:

curl -s "http://localhost:6083/solr/admin/cores?action=STATUS"

回显(节选):

"ranger_audits":{
  "name":"ranger_audits",
  "instanceDir":"/opt/solr/ranger_audit_server/ranger_audits",
  "dataDir":"/opt/solr/ranger_audit_server/data/",
  "config":"solrconfig.xml",
  "schema":"managed-schema",
  "index":{"numDocs":0,...}}

4.6 初始化 install.properties

编辑 /opt/ranger-admin/install.properties,关键项如下(其余保持默认):

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=q1w2e3r4
rangerTagsync_password=q1w2e3r4
rangerUsersync_password=q1w2e3r4
keyadmin_password=q1w2e3r4
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
JAVA_BIN='java'
JAVA_VERSION_REQUIRED='1.8'
RANGER_ADMIN_LOG_DIR=/var/log/ranger/admin
RANGER_PID_DIR_PATH=/var/run/ranger

⚠️ 注意:Ranger 密码策略要求至少 8 位且同时含大写字母、小写字母、数字。演示密码 q1w2e3r4 不含大写,setup.sh 的自动改密环节会失败(回显见常见问题 8.3),但不阻断安装,管理台 admin 保持默认密码 admin,安装完成后用 changepasswordutil.py 手动改为符合策略的 Q1w2e3r4(见 4.10)。

下载 MySQL 驱动到指定路径(install.properties 中 SQL_CONNECTOR_JAR 指向它):

wget -q -O /usr/share/java/mysql-connector-java.jar \
  https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar

4.7 初始化数据库(先建库建用户,否则 setup.sh 报 Access denied)

mysql -uroot -pq1w2e3r4 -e "CREATE DATABASE IF NOT EXISTS ranger CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER IF NOT EXISTS 'rangeradmin'@'localhost' IDENTIFIED BY 'q1w2e3r4'; GRANT ALL PRIVILEGES ON ranger.* TO 'rangeradmin'@'localhost'; FLUSH PRIVILEGES;"

4.8 执行 setup.sh 初始化(建库建表 + 部署 webapp)

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd /opt/ranger-admin && bash setup.sh

⚠️ 未 export JAVA_HOME 时回显 [E] JAVA_HOME environment property not defined, aborting installation. 并中止,务必先执行上面的 export。

setup.sh 关键回显(logfile 摘要):

[I] uname=Linux
[I] hostname=ranger-admin-01
[I] DB_FLAVOR=MYSQL
[I] Audit source=solr
setup.sh: line 224: lsb_release: command not found   ← 警告,不阻断
[I] Setting up UNIX user : ranger and group: ranger DONE
[WARN] core-site.xml file not found in provided hadoop_conf path. Creating blank core-site.xml
[I] Copying MYSQL Connector to /opt/ranger-admin/ews/webapp/WEB-INF/lib DONE
[I] Importing DB schema to database ranger from file: ranger_core_db_mysql.sql
[I] ranger_core_db_mysql.sql file imported successfully
[I] CORE_DB_SCHEMA import status has been updated
[I] DB_PATCHES have already been applied
[I] JAVA_PATCHES have already been applied
[I] Checking connection passed.
[I] Ranger all admins default password change request is in process..
Password should be minimum 8 characters, at least one uppercase letter, one lowercase letter and one numeric.   ← q1w2e3r4 不符合策略,改密请求失败但不阻断安装
[E] Ranger all admins default password change request failed
[I] Starting setup based on user authentication method=NONE
[I] Finished setup based on user authentication method=NONE

4.9 启动与停止服务(ranger-admin-services.sh)

服务脚本位于 /opt/ranger-admin/ews/,仅支持 start|stop|restart|metric|version:

bash /opt/ranger-admin/ews/ranger-admin-services.sh start

回显:

Starting Apache Ranger Admin Service
Apache Ranger Admin Service with pid 21292 has started.

停止 / 重启:

bash /opt/ranger-admin/ews/ranger-admin-services.sh stop

回显:

Getting pid from /var/run/ranger/rangeradmin.pid ..
Found Apache Ranger Admin Service with pid 21292, Stopping it...
Apache Ranger Admin Service with pid 21292 has been stopped.
bash /opt/ranger-admin/ews/ranger-admin-services.sh restart

回显:

Found Apache Ranger Admin Service with pid 21655, Stopping it...
Apache Ranger Admin Service with pid 21655 has been stopped.
Starting Apache Ranger Admin Service
Apache Ranger Admin Service with pid 22669 has started.

⚠️ 该脚本不支持 status,执行回显如下(查状态请用端口 + 日志):

Invalid argument [status];
Usage: Only start | stop | restart | metric | version, are supported.
For metric Usage: metric -type policies | audits | usergroup | services | database | contextenrichers | denyconditions

查看版本与指标:

bash /opt/ranger-admin/ews/ranger-admin-services.sh version

回显:

Ranger 2.6.0
Subversion git://21127//private/tmp/release-2.6.0/ranger/ranger-util/src -r a1786ac2fe02196af9cda2ed25716310cac44d43
Compiled by abhishek.kumar on 10:19PM on February 28, 2025
From source with checksum a0c9e2d6f7ad361970fef780c8740e76ed3265de2ea72b612678e20d3ed01f18b3101dd48c5c57f663a7bc3a84e01e28ff7cd5355202548b6b967b9f570dfc9d
bash /opt/ranger-admin/ews/ranger-admin-services.sh metric -type services

回显:

{"serviceBasedCountList":{"hdfs":1,"tag":1},"totalCount":2}

4.10 验证 Web 管理台并修改管理员密码

确认 6080 端口监听:

ss -tlnp | grep 6080

回显:

LISTEN 0 100 *:6080 users:(("java",pid=22669,fd=356))

访问登录页:

curl -s http://localhost:6080/

回显(302 跳转登录页,标题):

<title> Ranger - Sign In</title>

登录 API(初始 admin/admin 可用,因 setup 改密环节失败保持默认):

curl -s -c /tmp/ranger_cookies.txt -X POST http://localhost:6080/login -d "username=admin&password=admin"

回显:

{"statusCode":200,"msgDesc":"Login Successful"}

修改管理员密码(changepasswordutil.py 用法:python3 changepasswordutil.py <loginID> <currentPassword> <newPassword>):

cd /opt/ranger-admin && python3 changepasswordutil.py admin admin Q1w2e3r4

回显:

2026-10-12 16:53:22,664  [I] Password updated successfully

用新密码登录成功、旧密码登录失败:

curl -s -X POST http://localhost:6080/login -d "username=admin&password=Q1w2e3r4"

回显:

{"statusCode":200,"msgDesc":"Login Successful"}
curl -s -X POST http://localhost:6080/login -d "username=admin&password=admin"

回显:

{"statusCode":401,"msgDesc":"The username or password you entered is incorrect."}

查询服务列表(带登录 cookie):

curl -s -b /tmp/ranger_cookies.txt http://localhost:6080/service/plugins/services

回显:

{"startIndex":0,"pageSize":0,"totalCount":0,"resultSize":0,"queryTimeMS":...,"services":[]}

4.11 修改 JVM 堆参数(默认 -Xms1g -Xmx1g → 256-512MB)

编辑 /opt/ranger-admin/ews/ranger-admin-services.sh:

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

修改对应文件两行:

  • 第 35 行:ranger_admin_max_heap_size=1g → ranger_admin_max_heap_size=512m(-Xmx 上限)
  • 第 57 行:-Xms1g → -Xms256m(-Xms 初始堆;该行 -Xmx 部分引用脚本变量 ranger_admin_max_heap_size,只需改 -Xms 值)

重启后验证生效(jps -v):

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 ...

五、配置说明

5.1 端口规划

端口服务说明
6080Ranger Admin 管理台内嵌 Tomcat(org.apache.ranger.server.tomcat.EmbeddedServer),Web 登录与 REST API 入口
6083Solr 审计存储audit_solr_urls 指向 http://localhost:6083/solr/ranger_audits
3306MariaDBRanger 元数据库 ranger

防火墙需放行 6080(对外管理台)与 6083(插件/审计写入需要)。

5.2 管理员密码管理

  • 密码策略:至少 8 位,同时含大写字母、小写字母、数字。
  • 修改任意用户密码:cd /opt/ranger-admin && python3 changepasswordutil.py <loginID> <当前密码> <新密码>。
  • 本指南演示:python3 changepasswordutil.py admin admin Q1w2e3r4(Q1w2e3r4 为符合策略的演示密码)。

5.3 install.properties 关键项

  • 数据库:DB_FLAVOR、db_host、db_name、db_user、db_password、SQL_CONNECTOR_JAR。
  • 审计存储:audit_store=solr、audit_solr_urls、audit_solr_collection_name、audit_solr_config_name、audit_solr_bootstrap_enabled。
  • 认证:authentication_method=NONE(本文使用)、remoteLoginEnabled。
  • 各参数含义与生产模板详见《Apache Ranger 2.6.0 配置参数详解》。

六、Ranger HDFS 插件接入示例

Ranger Admin 建好后,数据组件(此处以 HDFS 为例)通过插件连接 Admin 拉取策略。

6.1 下载并解压插件

插件包位于 plugins/hdfs/ 子目录(2.6.0 新结构):

cd /opt
wget -O ranger-2.6.0-hdfs-plugin.tar.gz \
  https://dlcdn.apache.org/ranger/2.6.0/plugins/hdfs/ranger-2.6.0-hdfs-plugin.tar.gz
tar -xzf ranger-2.6.0-hdfs-plugin.tar.gz -C /opt
mv /opt/ranger-2.6.0-hdfs-plugin /opt/ranger-hdfs-plugin

插件包内容:

disable-hdfs-plugin.sh  enable-hdfs-plugin.sh  install  install.properties  lib  ranger_credential_helper.py  upgrade-hdfs-plugin.sh  upgrade-plugin.py

6.2 准备 Hadoop 安装目录与用户

本示例使用最小 Hadoop 目录结构(含 etc/hadoop/core-site.xml、etc/hadoop/hdfs-site.xml、lib、bin):

mkdir -p /opt/hadoop/etc/hadoop /opt/hadoop/lib /opt/hadoop/bin
groupadd hadoop
useradd -r -g hadoop -d /opt/hadoop hadoop

6.3 配置插件 install.properties 并启用

编辑 /opt/ranger-hdfs-plugin/install.properties 关键项:

POLICY_MGR_URL=http://localhost:6080
REPOSITORY_NAME=rangerdevhdfs
COMPONENT_INSTALL_DIR_NAME=/opt/hadoop
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://localhost:6083/solr/ranger_audits
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hdfs/audit/solr/spool
XAAUDIT.LOG4J.ENABLE=true

启用插件(先 export JAVA_HOME,未设置时报 ERROR: JAVA_HOME environment property not defined, aborting installation.):

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
bash /opt/ranger-hdfs-plugin/enable-hdfs-plugin.sh

启用回显(节选):

Custom group is available, using default user and custom group.
+ Mon Oct 12 16:59:10 UTC 2026 : hadoop: lib folder=/opt/hadoop/share/hadoop/hdfs/lib conf folder=/opt/hadoop/etc/hadoop
+ ... Saving /opt/hadoop/etc/hadoop/ranger-hdfs-audit.xml to .ranger-hdfs-audit.xml.20261012-165910 ...
+ ... Saving /opt/hadoop/etc/hadoop/ranger-hdfs-security.xml ...
+ ... Saving /opt/hadoop/etc/hadoop/ranger-policymgr-ssl.xml ...
+ ... Saving current config file: /opt/hadoop/etc/hadoop/hdfs-site.xml ...
+ ... Saving current JCE file: /etc/ranger/rangerdevhdfs/cred.jceks ...
Ranger Plugin for hadoop has been enabled. Please restart hadoop services.

生成/修改文件清单:

  • /opt/hadoop/etc/hadoop/hdfs-site.xml:注入 dfs.namenode.inode.attributes.provider.class=org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer
  • /opt/hadoop/etc/hadoop/ranger-hdfs-security.xml:ranger.plugin.hdfs.service.name=rangerdevhdfs、ranger.plugin.hdfs.policy.rest.url=http://localhost:6080、ranger.plugin.hdfs.policy.source.impl=org.apache.ranger.admin.client.RangerAdminRESTClient
  • /opt/hadoop/etc/hadoop/ranger-hdfs-audit.xml、ranger-policymgr-ssl.xml
  • /etc/ranger/rangerdevhdfs/cred.jceks、policycache/
  • lib:ranger-hdfs-plugin-shim-2.6.0.jar、ranger-plugin-classloader-2.6.0.jar、ranger-hdfs-plugin-impl/

6.4 REST API 在 Ranger Admin 创建 HDFS 服务

插件启用后需在 Admin 注册对应服务仓库。首次创建缺必填参数的回显:

curl -s -b /tmp/ranger_cookies.txt -X POST http://localhost:6080/service/plugins/services \
  -H "Content-Type: application/json" \
  -d '{"name":"rangerdevhdfs","type":"hdfs","configs":{"username":"hadoop","password":"q1w2e3r4","namenode_url":"hdfs://localhost:8020","enable":"true"}}'

回显:

{"statusCode":1,"msgDesc":"(0) Validation failure: error code[1011], reason[Missing required configuration parameter(s): missing parameters=[hadoop.security.authentication, fs.default.name, hadoop.security.authorization]], field[configuration], subfield[hadoop.security.authentication], type[missing] "}

补全必填参数(hadoop.security.authentication / fs.default.name / hadoop.security.authorization)后创建成功:

curl -s -b /tmp/ranger_cookies.txt -X POST http://localhost:6080/service/plugins/services \
  -H "Content-Type: application/json" \
  -d '{"name":"rangerdevhdfs","type":"hdfs","configs":{"username":"hadoop","password":"q1w2e3r4","namenode_url":"hdfs://localhost:8020","hadoop.security.authentication":"simple","hadoop.security.authorization":"false","fs.default.name":"hdfs://localhost:8020","enable":"true"}}'

回显(节选):

{"id":1,"guid":"78baf720-47c1-4933-8382-41624e80ef26","isEnabled":true,"createdBy":"Admin","updatedBy":"Admin","createTime":...,"type":"hdfs","name":"rangerdevhdfs","displayName":"rangerdevhdfs",...}

确认服务已注册:

curl -s -b /tmp/ranger_cookies.txt http://localhost:6080/service/plugins/services

回显:

{"startIndex":0,"pageSize":0,"totalCount":2,"resultSize":2,..."services":[{"name":"rangerdevhdfs","type":"hdfs"},{"name":"tag","type":"tag"}]}

七、注意事项

  • ranger-admin-services.sh 只支持 start|stop|restart|metric|version,不支持 status;排查服务状态以 ss -tlnp | grep 6080 与日志 /var/log/ranger/admin/ 为准。
  • 密码策略:至少 8 位且同时含大写、小写、数字;演示密码 q1w2e3r4 不含大写会触发改密失败(不阻断安装)。
  • setup.sh 前必须 export JAVA_HOME 且必须先建库建用户(否则 Access denied)。
  • 审计数据由各组件 agent 上报,管理台刚装完时 Solr core 内 numDocs=0 属正常。
  • 日志位置:Ranger Admin /var/log/ranger/admin/(含 gc-worker.log),setup 过程日志见 /opt/ranger-admin/logfile。
  • 如需以 Compose 编排方式部署 Ranger 栈,参见《Apache Ranger 2.6.0 Docker Compose 部署指南》。

八、常见问题

8.1 setup.sh 报 JAVA_HOME environment property not defined, aborting installation.

原因:未设置 JAVA_HOME,setup.sh 开头即中止。

解决:执行 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 后重新运行 bash setup.sh。

8.2 setup.sh 报 Access denied for user 'rangeradmin'@'localhost'(无法连库)

原因:未先创建数据库 ranger 与用户 rangeradmin(见 4.7)。

解决:先执行 4.7 的建库授权命令,再重跑 setup.sh。

8.3 setup.sh 改密环节失败(Ranger all admins default password change request failed)

错误回显(logfile):

[I] Ranger all admins default password change request is in process..
Password should be minimum 8 characters, at least one uppercase letter, one lowercase letter and one numeric.
[E] Ranger all admins default password change request failed

原因:install.properties 中 4 个管理密码(rangerAdmin_password / rangerTagsync_password / rangerUsersync_password / keyadmin_password)设为 q1w2e3r4 时不含大写字母,不满足密码策略,改密请求失败。

⚠️ 注意:若只把 rangerAdmin_password 设为非默认值而其他 3 个保持默认,Ranger 2.6.0 的 python_command_for_change_password 会因参数补齐缺陷导致 Old Password and New Password argument are same,setup.sh 以 EXIT=1 退出并反复重启。稳妥做法:要么 4 个密码全部改为符合策略的密码,要么全部保持默认后在安装完成后手动改密。

解决:安装不受影响(admin 保持默认密码 admin);按 4.10 用 python3 changepasswordutil.py admin admin Q1w2e3r4 手动改为符合策略的密码。

8.4 setup.sh 报 Database creation failed / SQLSyntaxErrorException

原因:默认安装模式下 DBA 步骤的 verify_db 用 JISQL 执行 show databases like 'ranger',JISQL 会剥离 SQL 中的单引号导致语法错误(多见于 Ranger 与数据库分离部署或网络特殊的环境)。

解决:在 install.properties 设置 setup_mode=SeparateDBA 跳过 DBA 步骤(库、用户、授权需按 4.7 预先手工完成),再重跑 setup.sh。

8.5 Solr core ranger_audits 未创建(查询 404)

原因:Ranger 2.6.0 主 setup.sh 不自动执行 solr bootstrap,core 需预先创建。

解决:按 4.5 预置 solr.xml 与 ranger_audits core 目录(含 core.properties、conf),重启 Solr 后核对 curl -s "http://localhost:6083/solr/admin/cores?action=STATUS"。

8.6 登录报 The username or password you entered is incorrect.

原因:密码已修改但用了旧密码,或首次改密失败后 admin 仍为默认密码。

解决:默认密码为 admin/admin(setup 改密失败时);若已改过,用新密码登录;忘记密码可用 python3 changepasswordutil.py admin <旧密码> <新密码> 重置。

九、卸载方式

bash /opt/ranger-admin/ews/ranger-admin-services.sh stop        # 先停止服务
rm -rf /opt/ranger-admin /etc/ranger /var/log/ranger /var/run/ranger
mysql -uroot -pq1w2e3r4 -e "DROP DATABASE ranger; DROP USER 'rangeradmin'@'localhost';"

插件侧(如已启用):

bash /opt/ranger-hdfs-plugin/disable-hdfs-plugin.sh
rm -rf /opt/ranger-hdfs-plugin

十、参考链接