TT Bigdata TT Bigdata
首页
  • 部署专题

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

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

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

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

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

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

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

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

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

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

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

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

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

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

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

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

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 适用于Ambari2.8.0-el7

    • Step1—基础环境准备
    • Step2—免密登陆认证
    • Step3—安装JDK
    • Step4—时间同步(Chrony)
      • 1. 为什么选择 Chrony? ⚖️
      • 2. Chrony 在集群中的部署架构 🏗️
        • 示例架构
      • 3. Chrony 服务器端(NTP 服务器)配置
        • 3.1 安装 Chrony
        • 3.2 修改 Chrony 配置
        • 3.3 启动 Chrony 服务
        • 3.4 验证 NTP 服务器是否同步
      • 4. Chrony 客户端(NTP 从节点)配置
        • 4.1 安装 Chrony
        • 4.2 配置 Chrony
        • 4.3 启动 Chrony
        • 4.4 验证客户端是否同步
    • Step5—Nginx安装
    • Step6—本地yum源配置
    • Step7—Mariadb初始化
    • Step8—AmbariServer初始化
    • Step9—Ambari Web Ui 初始化安装
    • [重要]—源码包下载
  • 适用于Ambari3.0.0-el7

  • 常规安装
  • 适用于Ambari2.8.0-el7
JaneTTR
2019-11-12
目录

Step4—时间同步(Chrony)

# 一、集群间的时间同步(Chrony 配置指南) ⏰

在 分布式系统 和 多节点集群 运行环境中,时间同步 是一个至关重要的任务。时间不同步会导致:

  • 日志时间错乱 📜:不同节点的日志记录时间不一致,影响排查问题。
  • 分布式任务调度异常 ⏳:如 Hadoop、Spark、Flink 等大数据组件依赖时间戳同步执行任务。
  • 数据库事务不一致 🛠️:数据同步和一致性要求精确的时间同步,否则可能导致数据丢失或事务失败。
  • 身份认证失败 🔐:某些安全协议(如 Kerberos)依赖精确的时间,否则身份验证可能无法通过。

很多 老旧的系统 仍然使用 ntpd(Network Time Protocol Daemon) 进行时间同步,但现代系统推荐使用 Chrony,它相比 ntpd 同步更快、容错性更强、占用资源更少。

# 1. 为什么选择 Chrony? ⚖️

Chrony 是 NTP 协议的一个更现代的实现,相比于 ntpd 具有以下优势:

特性 ntpd(传统方案) Chrony(推荐方案)
同步速度 ⏳ 需要几分钟 几秒内同步
适用场景 🔄 适用于长期运行的服务器 适用于各种服务器、云环境和容器
资源占用 💾 较高,适用于持久运行 更低,适用于轻量级服务器
离线恢复 🔄 断网后恢复较慢 即使断网也能稳定调整时间
动态 IP 支持 🌐 适用于固定 IP 服务器 适用于动态 IP 服务器

💡 结论:Chrony 更适合现代服务器和集群环境,并且对 时间漂移的自适应能力更强,特别适用于 云计算、虚拟机 和 * 不稳定网络环境*。

# 2. Chrony 在集群中的部署架构 🏗️

在分布式环境中,通常采用 层级时间同步:

  • 1 台服务器 作为 NTP 服务器,对外同步 公网时间源(如阿里云、国家授时中心)。
  • 集群内所有其他服务器 作为 NTP 客户端,同步主服务器时间。

# 示例架构

角色 服务器 IP 说明
Chrony 服务器(NTP 主节点) 192.168.3.1 负责同步公网时间,并提供时间服务
Chrony 客户端(NTP 从节点) 192.168.3.2 从主节点同步时间
Chrony 客户端(NTP 从节点) 192.168.3.3 从主节点同步时间

在这个环境中:

  • 192.168.3.1 从 公网 NTP 服务器 获取时间。
  • 192.168.3.2 和 192.168.3.3 直接从 192.168.3.1 获取时间。

# 3. Chrony 服务器端(NTP 服务器)配置

# 3.1 安装 Chrony

在 192.168.3.1 服务器上执行:

yum install -y chrony
1

# 3.2 修改 Chrony 配置

编辑 Chrony 服务器端配置文件:

vim /etc/chrony.conf
1

修改或添加以下内容:

# 使用公网时间服务器
server ntp.ntsc.ac.cn iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst

# 允许集群内的机器同步时间
allow 192.168.3.0/24

# 本地时钟(仅当公网 NTP 不可用时使用)
local stratum 10

# Drift 文件存储路径
driftfile /var/lib/chrony/drift

# 日志文件存放路径
logdir /var/log/chrony
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 3.3 启动 Chrony 服务

systemctl restart chronyd
systemctl enable chronyd
1
2

# 3.4 验证 NTP 服务器是否同步

chronyc tracking
1

如果输出包含 Leap status : Normal,表示时间同步正常。

# 4. Chrony 客户端(NTP 从节点)配置

# 4.1 安装 Chrony

在 192.168.3.2 和 192.168.3.3 服务器上执行:

yum install -y chrony
1

# 4.2 配置 Chrony

编辑客户端配置:

vim /etc/chrony.conf
1

修改为:

# 设定时间同步的服务器(NTP 服务器)
server 192.168.3.1 iburst

# Drift 文件存储路径
driftfile /var/lib/chrony/drift

# 日志文件存放路径
logdir /var/log/chrony
1
2
3
4
5
6
7
8

# 4.3 启动 Chrony

systemctl restart chronyd
systemctl enable chronyd
1
2

# 4.4 验证客户端是否同步

chronyc sources -v
1

如果输出包含 192.168.3.1 且 MS Name/IP address 前面有 *,表示客户端同步成功:

MS Name/IP address    Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.3.1             10    6   377    28    -12us[  -33us] +/-  22ms
1
2
3
#常规安装
Step3—安装JDK
Step5—Nginx安装

← Step3—安装JDK Step5—Nginx安装→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式