前言
- 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
[tomandersen@hadoop101 ~]$ sudo yum install ntp
(2)修改 ntp 配置文件 /etc/ntp.conf
[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
(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. 测试同步结果
[root@hadoop103 TomAndersen]# date -s "2017-9-11 11:11:11"
[root@hadoop103 TomAndersen]# date
2020年 02月 09日 星期日 21:51:11 CST
End~