在master集群中启动ntp服务的命令
一般来说,NTP服务器配置在NameNode所在的机器上,因为这个机器更加稳定。
NTP服务器时间同步的原理(自己的理解):
1) NTP服务有2个端:NTP服务器端(NTP服务器)+NTP客户端(其它主机);
2) 客户端与服务器进行通信,查询时间,从而实现时间同步
下面讲解配置过程和原理:
1 NTP服务器端配置
11 master和slaves结点下载并安装ntp、ntpdate
在这里插入描述
在这里插入描述
在这里插入描述
在这里插入描述
12 master结点配置/etc/ntpconf文件
在这里插入描述
修改为(各语句的意义有注释):
在这里插入描述
13 master设置开机自启ntp
master开机自启ntp:
在这里插入描述
master检查一下ntp是否设置自启成功:
在这里插入描述
14 master启用NTP服务
master启动ntp,并检查是否启动成功:
在这里插入描述
15 master设置防火墙,放行NTP协议请求
关闭防火墙即可。(如果不关闭防火墙,那就需要进行其它设置。)
16 master设置硬件时间(BIOS时间,主板上的时间)
master查看ntp的情况(这里的表格还不会看,后面深入学习)
在这里插入描述
同步硬件时间和系统时间,并查看(这里表示,硬件时间已经和刚刚配置的NTP服务器同步):
在这里插入描述
至此,master(NTP服务器)的NTP配置完毕。
2 NTP客户端配置
21 slave1-3安装NTP服务和NTPDATE工具
上面已经安装了
22 slave1-3设置定时器
在这里插入描述
编辑(这里的意思是,每天让这个客户端和主机的时间同步一次):
在这里插入描述
slave1-3设置ntpdate开机自启
在这里插入描述
手动让slave1-3主机的时间和master的同步(发现第一次的offset为18秒,第二次就很小了。这一步应该不是必须的,后面具体研究NTP时间同步):
在这里插入描述
再手动让slave1-3主机硬件时间和(刚刚同步过的)系统时间同步:
在这里插入描述
至此,hadoop集群的时间同步配置完毕。
NTP服务器顾名思义就是时间同步服务器(Network Time Protocol),Linux下的ntp服务器配置相对来说都比较容易,但在Linux下有一个弊端, 不同时区或者说是时间相差太大的无法同步 ,所以在配置ntp服务器之前需要把时间配置成相同的。
NTP时钟同步方式说明
NTP在linux下有两种时钟同步方式,分别为直接同步和平滑同步:
直接同步
使用ntpdate命令进行同步,直接进行时间变更。如果服务器上存在一个12点运行的任务,当前服务器时间是13点,但标准时间时11点,使用此命令可能会造成任务重复执行。因此使用ntpdate同步可能会引发风险,因此该命令也多用于配置时钟同步服务时第一次同步时间时使用。
平滑同步
使用ntpd进行时钟同步,可以保证一个时间不经历两次,它每次同步时间的偏移量不会太陡,是慢慢来的,这正因为这样,ntpd平滑同步可能耗费的时间比较长。
标准时钟同步服务
http://wwwpoolntporg/zone/cn
这个网站包含全球的标准时间同步服务,也包括对中国时间的同步,对应的URL为:cnpoolntporg
在其中也描述了ntp配置文件中的建议写法:
server 1cnpoolntporg
server 2asiapoolntporg
server 3asiapoolntporg
实验室集群没有联网,我们需要搭建ntp服务器并进行时间同步。
现使用的系统为centos72,机器使用情况如下表所示,这里以1921681102为ntp server,1921681104为client对时间进行同步。
NTP server 1921681102
NTP client 1921681104
1在集群中所有节点上安装ntp
# yum -y install ntp
2所有节点设置时区,这里设置为中国所用时间
# timedatectl set-timezone Asia/Shanghai
3在server节点上启动ntp服务
# systemctl startntpd
# systemctl enable ntpd
4在server节点上设置现在的准确时间
# timedatectl set-time HH:MM:SS
5在server节点上设置其ntp服务器为其自身,同时设置可以接受连接服务的客户端,是通过更改/etc/ntpconf文件来实现,其中server设置12712710为其自身,新增加一个 restrict 段为可以接受服务的网段
# vim /etc/ntpconf
6重启ntpd服务
# systemctl restart ntpd
# timedatectl
NTP synchronized: yes
启用ntpd后,服务器就开启了ntpd自动同步,无法使用 timedatectl set-time HH:MM:SS重新设置时间。
如果要使用timedatectl set-time HH:MM:SS 重新设置时间:
# systemctl stop ntpd
# timedatectl set-ntp false
# timedatectl set-time HH:MM:SS
# hwclock -w
# systemctl start ntpd
1客户端时区需要和服务端保持一致,否则无法同步时间
# timedatectl set-timezone
Asia/Shanghai
2安装同步软件包
# yum -y install ntpdate
3 修改/etc/sysconfig/ntpdate,让ntpdate每次同步时间之后把时间写入hwclock,相当于命令hwclock -w
将最后一行SYNC_HWCLOCK=no修改为:SYNC_HWCLOCK=yes
# vim /etc/sysconfig/ntpdate
4客户端定时任务配置
# crontab -e
59 23 /sbin/ntpdate 1921681102
设置为每天23:59分执行,重启crond服务
######################
定时任务基本格式 :
command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
################################
5重启定时任务
# systemctl restart crondservice
萤石云ntp校时服务器地址:timeys7com。
NTP校时:录像机可以通过NTP服务器进行校时,一般有以下两种情况:
第一种,自建NTP服务器,一般有设置网络时间服务器地址的选项,填上就可以了,自动同步。
第二种,设备如果连接到外网,可以通过国家校时服务器校时,地址2107214544,NTP端口123。也可以用上海交大NTP服务器地址2021202101。也可以使用别的校时服务器。
启用NTP,校时时间间隔默认是60分钟,可以在1-10800分钟范围调节。
命令service ntpd start
命令ntpstat
查看ntp状态时,可能会出现如下所示情况
① unsynchronised time server re-starting polling server every 8 s
② unsynchronised polling server every 8 s
这种情况属于正常,ntp服务器配置完毕后,需要等待5-10分钟才能与/etc/ntpconf中配置的标准时间进行同步。
等一段时间之后,再次使用ntpstat命令查看状态,就会变成如下正常结果:
命令ntpq -p
remote:本机和上层ntp的ip或主机名,“+”表示优先,“”表示次优先
refid:参考上一层ntp主机地址
st:stratum阶层
when:多少秒前曾经同步过时间
poll:下次更新在多少秒后
reach:已经向上层ntp服务器要求更新的次数
delay:网络延迟
offset:时间补偿
jitter:系统时间与bios时间差
4)查看ntpd进程的状态
命令watch "ntpq -p"
终止按 Ctrl+C 停止查看进程。
第一列中的字符指示源的质量。星号 ( ) 表示该源是当前引用。
remote:列出源的 IP 地址或主机名。
when:指出从轮询源开始已过去的时间(秒)。
poll:指出轮询间隔时间。该值会根据本地时钟的精度相应增加。
reach:是一个八进制数字,指出源的可存取性。值 377 表示源已应答了前八个连续轮询。
offset:是源时钟与本地时钟的时间差(毫秒)。
安装NTP服务可以说很容易,几个要点搞定就成。下面是我装NTP服务器的记录。
一、首先当然是惯例更新
然后修改下配置文件。
这里我们建议去找最近的ntp公共服务器,访问站点 https://wwwntppoolorg/
查找你的区域,比如我需要找 Europe/United Kingdom,可以发现有这么几个,记下来要在配置文件里改的。
这里是中国常用的NTP服务器,以供参考:
二、修改配置文件 /etc/ntpconf
三、重启服务,查看服务状态
四、开放防火墙端口,我们看到ntp使用udp 123端口
现在,服务器端就配置完了。 查看与上层ntp服务器的状态
其中这些状态的意思是:
五、linux客户端配置ntp
51先安装ntpdate,测试NTP工具
测试NTP服务器是否好用(如有提示“ntpdate[XXX]: the ntp socket is in use, exiting”, 可加参数 -u )
52 很好,那么我们先停止ubuntu自带的时间同步服务
53 安装ntp服务并添加主NTP服务器,可以修改/etc/ntpcfg,或者直接使用下面语句添加:
看一下同步状态:
可以看到,已经和主服务器同步成功了。
0条评论