TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 安装

    • 常规安装
      • 适用于Ambari3.0.0-kylin V10-aarch64

      • 适用于Ambari3.0.0-kylin V10-x86_64

      • 适用于Ambari3.0.0-ubuntu22.04

      • 适用于Ambari3.0.0-el7

      • 适用于Ambari3.0.0-el8

      • 适用于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 初始化安装
    • 一键部署
  • 组件安装

  • Kerberos 旧版专题

  • Ranger 旧版专题

  • 旧版部署
  • Ambari 安装
  • 常规安装
  • 适用于Ambari2.8.0-el7
JaneTTR
2019-11-12
目录
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 验证客户端是否同步

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
#Ambari#集群部署
Step3—安装JDK
Step5—Nginx安装

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

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式