完全分布式集群时间同步
集群时间同步是什么?
集群时间同步:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。
为什么要做时间同步?
随着集群节点数的增加,集群各节点之间时间不一致的问题会越来越严重,经常会引发故障,为避免类似问题出现,需要架设独立的时间同步服务器,并设置所有节点定时与时间服务器进行同步
。
如何完成集群时间同步?
配置时间同步具体实操:
1. 时间服务器配置 必须root用户可者root权限
(1)检查ntp是否安装
什么是ntp?
NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议
rpm -qa|grep ntp
ntp-4.2.6p5-10.el6.centos.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
ntpdate-4.2.6p5-10.el6.centos.x86_64
(2)修改ntp配置文件
sudo vim /etc/ntp.conf
修改内容如下
a)修改1(授权192.168.1.0-192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
b)修改2(集群在局域网中,不使用其他互联网上的时间)
注释掉
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
c)添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(3)修改/etc/sysconfig/ntpd 文件
vim /etc/sysconfig/ntpd
增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
(4)重新启动ntpd服务
sudo service ntpd status
sudo service ntpd start
(5)设置ntpd服务开机启动
sudo chkconfig ntpd on
2. 其他机器配置必须root用户可者root权限
(1)在其他机器配置10分钟与时间服务器同步一次
什么是crontab?
crontab 命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令
* * * * * 执行的任务
在hadoop103
sudo crontab -e
编写定时任务如下:
*/10 * * * * /usr/sbin/ntpdate hadoop102
(2)修改任意机器时间
date -s "2020-11-11 11:11:11"
(3)十分钟后查看机器是否与时间服务器同步
date
说明: 》》1 测试的时候可以将10分钟调整为1分钟,节省时间。 》》2 hadoop103操作完之后,可以在hadoop104上也进行同样操作