Linux使用ntp工具实现集群主机间时间同步

前言

  • NTP(Network Time Protocol,网络时间协议)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务
  • Linux上可以通过ntp工具来实现各个主机间的系统时间和硬件时间同步
  • 本次实验集群主机系统为CentOS 7,集群主机在 192.168.126.0/24 网段

需求

  • 实现集群内主机时间同步

具体步骤:

1. 配置集群时间服务器

(1)检查 ntp 是否安装

[tomandersen@hadoop101 ~]$ yum list installed | grep ntp
fontpackages-filesystem.noarch          1.44-8.el7                     @anaconda
ntp.x86_64                              4.2.6p5-29.el7.centos          @base    
ntpdate.x86_64                          4.2.6p5-29.el7.centos          @base    
python-ntplib.noarch                    0.3.2-1.el7                    @anaconda

检查 ntp 是否安装

  • 若未安装则进行安装
[tomandersen@hadoop101 ~]$ sudo yum install ntp

(2)修改 ntp 配置文件 /etc/ntp.conf

  • 必须使用root用户执行命令
[root@hadoop101 ~]# vim /etc/ntp.conf 
  • 修改内容如下:

  • a)授权当前网段内所有主机可通过此主机查询和同步时间
restrict 192.168.126.0 mask 255.255.255.0 nomodify notrap
  • b)设置无网络连接时使用本地时间为集群机器提供时间同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10
  • 具体如下图所示

修改 ntp 配置文件 /etc/ntp.conf

(3)修改 ntp 配置文件 /etc/sysconfig/ntpd

  • 使用root用户编辑文件/etc/sysconfig/ntpd,插入以下内容实现硬件时间和系统时间一起同步
SYNC_HWCLOCK=yes

实现硬件时间和系统时间一起同步

(4)重启 ntp 服务

[root@hadoop101 /]# systemctl restart ntpd.service 

(5)设置 ntp 服务开机自启

[root@hadoop101 /]# systemctl enable ntpd.service

2. 配置所有其他客户主机

(1)创建时间同步计划任务

  • 在其他主机上使用 crontab工具 创建计划任务,设置每1分钟同步一次时间
[root@hadoop102 ~]# crontab -e
  • 插入以下内容,不能有多余空格
*/1 * * * * /usr/sbin/ntpdate hadoop101

(2)确保 crond.service 和 ntpd.service开机启动

sudo systemctl enable crond.service
sudo systemctl enable ntpd.service

3. 测试同步结果

  • 使用 date 命令修改任意客户主机时间
[root@hadoop103 TomAndersen]# date -s "2017-9-11 11:11:11"
  • 1分钟之后检查时间是否自动同步成功
[root@hadoop103 TomAndersen]# date
20200209日 星期日 21:51:11 CST

End~

发布了15 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/TomAndersen/article/details/104239795