当前位置: 首页 > news >正文

【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step4—时间同步(Chrony)

注意事项
本文基于 Ubuntu 22.04 LTS 适配,部分包名和配置与 RedHat/Rocky/CentOS 有差异,请勿直接复用其它系统命令。如遇疑难欢迎在
VX 或 QQ 群与作者交流。

附录:完整内容和源代码下载请参照

https://doc.janettr.com/

在这里插入图片描述

1. 为什么要做时间同步?

  • 保证各节点日志时间一致,方便排查分析
  • 防止调度与数据库事务异常
  • 避免安全协议(如 Kerberos)因时间漂移而失效

Ubuntu 22.04 默认推荐 Chrony(取代 ntpd),同步快,资源占用低,对云主机/虚拟化友好。

2. 推荐集群时间同步架构

角色IP说明
Chrony 服务器(主)192.168.3.1直接同步公网时间源
Chrony 客户端(从)192.168.3.2仅同步 192.168.3.1
Chrony 客户端(从)192.168.3.3仅同步 192.168.3.1
  • 推荐1 台主节点连公网,其他所有节点仅同步主节点,提升一致性。

3. 安装 Chrony(所有节点)

sudo apt update
sudo apt install -y chrony

与 RedHat/CentOS 完全不同,请勿使用 yumdnfrpm 等命令,Ubuntu 必须用 apt 体系


4. Chrony 服务器端配置(以 192.168.3.1 为例)

4.1 编辑配置文件

sudo vim /etc/chrony/chrony.conf

在这里插入图片描述

配置文件路径与 RedHat 系严重不同!
Ubuntu 是 /etc/chrony/chrony.conf,RedHat/CentOS 多为 /etc/chrony.conf/etc/chrony/chronyd.conf

4.2 推荐配置内容

server ntp.ntsc.ac.cn iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburstallow 192.168.3.0/24local stratum 10driftfile /var/lib/chrony/chrony.drift
logdir /var/log/chrony

allow 192.168.3.0/24 必须加,客户端才能访问本机时间服务,当然写0.0.0.0/0 也行

4.3 重启服务

sudo systemctl restart chrony
sudo systemctl enable chrony

Ubuntu 的服务名称为 chrony,不是 chronyd,启动/管理命令和 RedHat/CentOS 有区别。

4.4 验证主节点同步状态

chronyc tracking

image-20250718163721544

  • 正常输出应包含 Leap status : Normal

  • 验证同步源:

    chronyc sources -v
    

在这里插入图片描述

5. Chrony 客户端配置(192.168.3.2/3.3等所有从节点)

5.1 编辑配置文件

sudo vim /etc/chrony/chrony.conf

配置文件路径与 RedHat/CentOS 不一样,Ubuntu 必须是 /etc/chrony/chrony.conf

5.2 推荐配置内容

注释掉所有其他 server 或 pool,只保留如下内容:

server 192.168.3.1 iburst
driftfile /var/lib/chrony/chrony.drift
logdir /var/log/chrony

5.3 重启服务

sudo systemctl restart chrony
sudo systemctl enable chrony

5.4 客户端验证同步状态

chronyc sources -v
  • 输出中 ^* 192.168.3.1 说明同步正常。

6. 常见问题与 Ubuntu 专属注意点

  • Ubuntu 的 chrony 服务名称为 chrony(不是 chronyd)
  • 所有安装、重启、配置命令都用 aptsystemctl ... chrony
  • 配置文件路径为 /etc/chrony/chrony.conf
http://www.dtcms.com/a/305752.html

相关文章:

  • 从0开始学习R语言--Day62--RE插补
  • STL学习(?、常用的算数算法和集合算法)
  • 跳跃表可视化深度解析:动态演示数据结构核心原理
  • 数据结构第3问:什么是线性表?
  • 数据结构-Set集合(一)Set集合介绍、优缺点
  • 基于 Rust 和土木工程、设备故障诊断、混凝土养护、GPS追踪、供应链物流跟踪系统、地下水监测等领域的实例
  • CouchDB 从入门到精通:构建高效的分布式文档数据库
  • cpp实现音频重采样8k->16k及16k->8k
  • 2025年华为HCIA-AI认证是否值得考?还是直接冲击HCIP?
  • c++函数返回值完整总结
  • GaussDB 数据库架构师(十二) 数据库对象修改审计设置
  • (RedmiBook)上禁用触摸板或自带键盘
  • 【LangGraph技术深度解析】构建下一代AI工作流的革命性框架
  • 数据赋能(358)——数据分析——可解释性原则
  • ZKMall商城开源本地部署指南
  • 【Rust多进程】征服CPU的艺术:Rust多进程实战指南
  • 2419. 按位与最大的最长子数组
  • web服务器nginx
  • 新零售“实—虚—合”逻辑下的技术赋能与模式革新:基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的研究
  • 标准七层网络协议和TCP/IP四层协议的区别
  • uni-app webview 的message无法触发的解决方案
  • 在 Elasticsearch 8.19 和 9.1 中引入更强大、更具弹性和可观测性的 ES|QL
  • jenkins连接docker失败【还是没解决】
  • 关于MyBatis 的懒加载(Lazy Loading)机制
  • Hutool 的 WordTree(敏感词检测)
  • 阿里云AI代码助手通义灵码开发指导
  • Javaweb————什么是OPTIONS预检请求
  • 2025年6月数据挖掘顶刊TKDE研究热点有哪些?
  • 磁悬浮技术原理
  • 自动化与配置管理工具 ——Ansible