TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 实战 Kerberos
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 二开指导

    • 前端开发
    • 后端开发
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 优化增强

    • 组件配置调优
  • 支持&共建

    • 蓝图愿景
    • 合作共建
    • 服务说明
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 实战 Kerberos
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 二开指导

    • 前端开发
    • 后端开发
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 优化增强

    • 组件配置调优
  • 支持&共建

    • 蓝图愿景
    • 合作共建
    • 服务说明
登陆
GitHub (opens new window)
  • HDFS

  • RANGER

    • [0002]Ranger 审计日志时间与系统时间不一致调整
    • [0002]>>>>>日期统一规则调优
      • 一、问题现象与触发条件
        • 1、常见触发场景
      • 二、错误分析与排查
        • 1、操作系统时间是否异常
        • 2、Ranger Admin 进程时间来源
        • 3、根因确认
      • 三、解决办法
        • 方案一:通过 Ambari 配置修复(推荐)
        • 1、配置方式
        • 2、生效方式
        • 方案二:Stack 模板层修复(适合重新编译)
        • 1、修改文件
        • 2、修复思路
      • 四、修复成果与验证
    • [0001]Resource lookup fail 线程池超时优化
    • [0001]>>>>>>线程池与超时参数调优
  • META-CONF-ENHANCE-COMPONET
  • RANGER
JaneTTR
2026-01-26
目录

[0002]>>>>>日期统一规则调优

# 一、问题现象与触发条件

在日常使用 Ranger 进行权限审计与安全排查时, 通过 Ranger Web UI → Audit 页面查看审计日志,会发现一个非常直观的问题:

审计日志展示的时间,与当前服务器时间明显不一致

例如在浏览器中看到的日志时间如下:

image-20260126165830183

从页面效果来看,日志时间整体偏早,与实际操作发生时间存在固定偏移。

# 1、常见触发场景

该问题通常出现在以下环境中:

  • 集群已启用 Kerberos

  • Ranger Admin 运行时间较长(非首次部署)

  • 运维或安全人员需要:

    • 对齐 Hive / HDFS / Ranger 多组件日志
    • 精确回溯权限变更与访问时间

在这些场景下,时间错位会直接影响判断结果。

影响说明

审计日志时间不准确,会导致:

  • 安全事件回溯困难
  • 权限误判
  • 跨系统日志无法对齐

# 二、错误分析与排查

在确认问题现象稳定存在后,需要从时间来源链路逐层排查。

# 1、操作系统时间是否异常

首先在 Ranger Admin 所在节点检查系统时间:

[root@dev2 ~]# timedatectl
               Local time: Mon 2026-01-26 16:56:19 CST
           Universal time: Mon 2026-01-26 08:56:19 UTC
                 RTC time: Mon 2026-01-26 08:56:19
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
[root@dev2 ~]# ps -ef | grep rangeradmin | grep -E "timezone|user.timezone"
ranger   1693004       1  0 Jan25 ?        00:09:50 java -Dproc_rangeradmin -Dzookeeper.sasl.client=true -Dzookeeper.sasl.clientconfig=Client -Dzookeeper.sasl.client.username=zookeeper -Djava.security.auth.login.config=/etc/ranger/admin/conf/ranger_jaas/ranger_zk_jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djavax.net.ssl.trustStore=/etc/ranger/admin/conf/ranger-admin-truststore.jks -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=JKS -XX:MetaspaceSize=100m -XX:MaxMetaspaceSize=200m -Xmx1g -Xms1g -Xloggc:/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/logs/gc-worker.log -verbose:gc -XX:+PrintGCDetails -Duser.timezone=UTC -Dlogback.configurationFile=file:/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/webapp/WEB-INF/classes/conf/logback.xml -Duser=ranger -Dhostname=dev2 -Dservername=rangeradmin -Dlogdir=/var/log/ranger/admin -Dcatalina.base=/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews -cp /usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/webapp/WEB-INF/classes/conf:/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/lib/*:/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/webapp/WEB-INF/lib/*:/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/ranger_jaas/*:/usr/bigtop/3.2.0/usr/lib/ranger-admin/ews/webapp/WEB-INF/classes/conf/ranger_jaas:/opt/modules/jdk1.8.0_202/lib/*:/*: org.apache.ranger.server.tomcat.EmbeddedServer
[root@dev2 ~]# 
1
2
3
4
5
6
7
8
9
10
11

从输出可以确认:

  • 系统时区:Asia/Shanghai
  • 本地时间正常
  • NTP 已启用并同步

排查结论

操作系统层面的时间与时区配置完全正常, 问题不在 OS。

# 2、Ranger Admin 进程时间来源

Ranger Admin 本质上是一个 Java Web 应用, 其时间来源并不直接取决于操作系统,而是取决于 JVM 启动参数。

检查 Ranger Admin 进程:

[root@dev2 ~]# ps -ef | grep rangeradmin | grep -E "timezone|user.timezone"
1

可以在进程启动参数中看到:

-Duser.timezone=UTC
1

对应截图如下:

image-20260126165656310

# 3、根因确认

根因说明

Ranger Admin 在启动时, 显式指定了 JVM 时区为 UTC, 导致:

  • 审计日志时间
  • Web UI 展示时间
  • 部分后台任务日志 全部基于 UTC 进行格式化。

即使操作系统已经切换到 Asia/Shanghai, 只要 JVM 仍然使用 UTC,时间偏移就一定存在。

# 三、解决办法

针对该问题,可以从 运行态修复 和 构建态修复 两个层面处理。

# 方案一:通过 Ambari 配置修复(推荐)

该方式适合 已部署集群,不涉及重新编译。

# 1、配置方式

在 Ambari 中进入:

Ranger → 高级配置 → Ranger Env / Java Opts
1

追加 JVM 时区参数:

{# TTBigdata: 优化日志时间为国内时间 #}
export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai"
1
2

配置界面如下:

image-20260126170854050

# 2、生效方式

  • 保存配置
  • 重启 Ranger Admin

适用场景

  • 生产环境
  • 快速止血
  • 不影响现有 Stack 结构

# 方案二:Stack 模板层修复(适合重新编译)

该方式适合 私有发行版 / 二次封装 Ambari 场景。

# 1、修改文件

ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/RANGER/properties/ranger-env.sh.j2
1

# 2、修复思路

在模板中统一为 JAVA_OPTS 注入:

-Duser.timezone=Asia/Shanghai
1

修改示意如下:

image-20260126171000246

适用场景

  • 新集群交付
  • 避免后续节点重复配置

# 四、修复成果与验证

完成修复并重启 Ranger Admin 后, 直接从日志层面进行验证。

tail -f /var/log/ranger/admin/ranger-admin-dev2-ranger.log
1

日志输出时间如下:

image-20260126171123364

可以看到:

  • 日志时间与系统时间一致
  • Web UI 审计页面时间同步恢复正常

成果说明

至此:

  • Ranger 审计日志时间问题彻底消除
  • 多组件日志对齐恢复正常
  • 审计与安全分析不再受时间偏移影响
#Ranger#Ranger Admin#审计日志#UTC#Java 时区#Ambari#ranger-env.sh
[0002]Ranger 审计日志时间与系统时间不一致调整
[0001]Resource lookup fail 线程池超时优化

← [0002]Ranger 审计日志时间与系统时间不一致调整 [0001]Resource lookup fail 线程池超时优化→

最近更新
01
Ambari-Web-3.0.0本地启动与二开环境搭建
01-28
02
左侧 Service 数量控制原理与实现
01-28
03
[22212]Ambari 3.0.0 左侧服务菜单滚动条缺失修复
01-28
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式