时间问题:
由于厂商的不同,导致时钟的时间偏差也不同。
在长期的使用过程中,时钟的时间会有慢慢和其他时间发生偏差的情况,这就是常说的 “时钟漂移” 或 “时间漂移”。
需求环境:
大数据系统是对时间敏感的计算处理系统,时间同步是大数据能够得到正确处理的基础保障,是大数据得以发挥作用的技术支撑。
公司服务器也需要时间同步作为基石。
解决措施:
搭建NTP服务,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。
在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。
时间时区概念理解:
GMT、UTC、CST、DST、EDT
GMT:
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。
UTC:
整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。
CST:
中国标准时间 (China Standard Time)
GMT + 8 = UTC + 8 = CST
DST:
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。
EDT:
北美东部夏令时间
系统时间与硬件时间:
硬件时间:
RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
系统时间:
一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。
NTP服务介绍:
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
NTP要提供准确的时间,就必须有准确的时间来源,
新的标准时间,是由原子钟报时的国际标准时间UTC(Universal Time Coordinated,世界协调时)。所以NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。
NTP 的层次结构
NTP 时钟以层次模型组织。层级中的每层被称为一个 stratum(阶层)。stratum 的概念说明了一台机器到授权的时间源有多少 NTP 跳。
Stratum 0 由没有时间漂移的时钟组成,例如原子时钟。这种时钟不能在网络上直接使用。
时间按NTP服务器的等级传播。按照离外部UTC 源的远近将所有服务器归入不同的Stratum(层)中。
Stratum N (N > 1) 层服务器从 Stratum N-1 层服务器同步时间。Stratum N 时钟能通过网络和彼此互联。
NTP 支持多达 15 个 stratum 的层级。Stratum 16 被认为是未同步的,不能使用的。
CentOS上安装NTP
NTP在linux下有两种时钟同步方式,分别为直接同步和平滑同步:
直接同步
使用ntpdate命令进行同步,直接进行时间变更。如果服务器上存在一个12点运行的任务,当前服务器时间是13点,但标准时间时11点,使用此命令可能会造成任务重复执行。因此使用ntpdate同步可能会引发风险,因此该命令也多用于配置时钟同步服务时第一次同步时间时使用。
平滑同步
使用ntpd进行时钟同步,可以保证一个时间不经历两次,它每次同步时间的偏移量不会太陡,是慢慢来的,这正因为这样,ntpd平滑同步可能耗费的时间比较长。
标准时钟同步服务
http://www.pool.ntp.org/zone/cn网站包含全球的标准时间同步服务,也包括对中国时间的同步,对应的URL为cn.pool.ntp.org,在其中也描述了ntp配置文件中的建议写法:
server 1.cn.pool.ntp.org
server 3.asia.pool.ntp.org
server 2.asia.pool.ntp.org
最熟知的时间服务器有如下:
cn.ntp.org.cn #中国
edu.ntp.org.cn #中国教育网
ntp1.aliyun.com #阿里云
ntp2.aliyun.com #阿里云
cn.pool.ntp.org #最常用的国内NTP服务器
1.NTP服务器端配置首先确定服务器的时区正确
timedatectl 查看具体时间时区
timedatectl list-timezones 查看具所有时区
timedatectl set-timezone Asia/Shanghai 设置时区
2 ntp服务器端安装ntp
yum -y install ntp
编辑配置文件
vi /etc/ntp.conf
其中restrict 用于对访问ntp的客户端的限制
server 参数 server用于设定ntp同步时间的外网时间服务器
默认情况下,NTP 服务器的日志保存在 /var/log/messages。如果你希望使用自定义的日志文件,也可以指定:
logfile /var/log/ntpd.log
chown ntp:ntp /var/log/ntpd.log
最后启动服务:
systemctl restart ntpd
systemctl enable ntpd
客户机需要同步时间可以有两种方式
方式1: 直接在防火墙上放行此客户机同外部时间服务器同步,此时直接安装
yum -y install ntp
配置即同配置局域网ntp服务器一样。
systemctl enable ntpd
systemctl start ntpd
此时ntp会以守护进程的方式去运行,且会自动同配置文件中的外网NTP服务器同步时间,不需人工干预。
方式2:和内网NTP服务器去同步 此时只需安装utpdate软件
yum -y install ntpdate
但需添加计划任务 让服务器周期性去同内网NTP同步
vi /var/spool/cron/root(或crontab -e)
在每天的0点10分、8点10分、16点10分与时间同步服务器进行同步并写入BIOS
10 0,8,16 * * * /usr/sbin/ntpdate 10.3.5.5; /sbin/hwclock -w
如果同步不正常,可以加输出日志1.txt或看系统日志者看/var/mail/root系统邮件
0 */8 * * * /usr/sbin/ntpdate 10.3.5.5 >>/tmp/1.txt; /sbin/hwclock -w
也可以编辑cat /etc/sysconfig/ntpdate 中的SYNC_HWCLOCK=yes 自动同步到硬件时间。
---------------------
作者:chelsea_nie
来源:CSDN
原文:https://blog.csdn.net/chelsea_nie/article/details/98094162
版权声明:本文为博主原创文章,转载请附上博文链接!