云计算百科
云计算领域专业知识百科平台

服务器之ntp同步时间

文章目录

  • 前言
  • 一、什么是NTP服务?
  • 二、为什么需要NTP服务?
    • 2.1 保证数据时效性和顺序准确性
    • 2.2 分布式系统协同作业的需要
    • 2.3 防止时间相关故障
    • 2.4 优化网络性能
  • 三、安装部署流程
    • 1.检查npd软件包是否下载
    • 2.查看虚拟机配置的子网掩码
    • 3.修改master服务器ntp服务的配置
    • 3.修改slave从服务器ntp服务的配置
    • 3.分别启动主从服务器中的ntp服务
    • 观察从服务器的时间同步
  • 总结

前言

在大数据环境下,数据是海量且持续产生的。许多数据应用场景,对数据的时间顺序和时效性要求较高。如果服务器时间不准确,数据的时间标记就会出现混乱。NTP 服务可以确保所有服务器的时间精确同步,使得数据的时间标签真实可靠,保证数据在时间维度上的准确性。

一、什么是NTP服务?

‌NTP服务(Network Time Protocol)是一种用于同步计算机网络中各个设备时间的协议。‌它通过接收来自高精度时间源(如原子钟、GPS卫星等)的时间信号,然后将这些时间信息传递给网络中的其他设备,帮助它们校准时间,实现时间同步。

二、为什么需要NTP服务?

2.1 保证数据时效性和顺序准确性

在大数据环境下,数据是海量且持续产生的。许多数据应用场景,如金融交易流水记录、物联网设备数据采集等,对数据的时间顺序和时效性要求较高。NTP 服务可以确保所有服务器的时间精确同步,使得数据的时间标签真实可靠,保证数据在时间维度上的准确性。如果服务器时间不准确,数据的时间标记就会出现混乱。

2.2 分布式系统协同作业的需要

大数据服务器通常是一个分布式系统,由众多节点组成。这些节点需要协同工作来完成数据的存储、处理和分析任务。 以 Hadoop 分布式文件系统(HDFS)为例,它通过多个数据节点和名称节点来管理和存储数据。数据块在不同节点间的复制、备份等操作依赖于准确的时间戳来协调。如果节点之间时间不同步,可能会出现数据块复制延迟或冲突等问题。NTP 服务能够让各个节点的时间保持一致,保障分布式系统内部各种操作按照预定的时间计划有序进行。

2.3 防止时间相关故障

时间错误可能导致一系列严重的后果,如SSL/TLS证书验证失败、计划任务未按预期执行、数据库一致性问题等。开启NTP服务能有效预防这些因时间不同步引发的故障,提升系统的稳定性和可靠性‌

2.4 优化网络性能

在许多网络应用中,如电子邮件、即时通讯等,发送和接收的时间戳需要严格保持一致。NTP服务器提供精确的时间,从而保证这些应用的正常运行‌

三、安装部署流程

1.检查npd软件包是否下载

检查服务器是否下载了ntp软件包,如未下载,则通过yum方式自行安装

# 检查服务器是否下载了ntp软件包
[root@master etc]# rpm -qa | grep ntp
ntpdate-4.2.6p5-29.el7.centos.2.x86_64
ntp-4.2.6p5-29.el7.centos.2.x86_64
[root@master etc]#
# 如未下载则通过yum下载
[root@master etc]# yum install -y ntp
[root@master etc]#

2.查看虚拟机配置的子网掩码

检查虚拟机配置的子网掩码,本机子网为 192.168.40.0 虚拟机配置的子网掩码

3.修改master服务器ntp服务的配置

ntp服务分为服务端,客户端,本文以master服务器为ntp服务端,slave_1,salve_2为ntp服务的客户端。 ntp服务配置文件路径:/etc/ntp.conf 在master服务器的ntp配置文件中增加以下配置并且注释掉server

restrict 192.168.40.0 mask 255.255.255.0 nomodify notrap server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10

shell示例:

# 修改配置文件
[root@master etc]# vim /etc/ntp.conf
#增加内容并且注释不需要的server
#给指定的客户机增加访问server的权限
restrict 192.168.40.0 mask 255.255.255.0 nomodify notrap
# 设置master为ntp服务的服务端
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

master服务器修改配置 注意: 主从服务器之间需要配置hostname,以及hosts

3.修改slave从服务器ntp服务的配置

在从服务器的中修改配置文件/etc/ntp.conf,使其成为ntp服务的客户端 将以下代码加入配置文件中,并注释掉不需要的server

server master # 配置ntp客户端需要从哪个ntp服务端同步

[root@slave_1 ~]# vim /etc/ntp.conf
server master # 配置ntp客户端需要从哪个ntp服务端同步
#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

从服务器ntp服务配置

3.分别启动主从服务器中的ntp服务

在主服务器master中启动ntp服务,从服务器slave_1,slave_2中启动ntp服务,并设置开机自启

# master主服务器 启动ntp服务,并设置开机自启
[root@master etc]# service ntpd start
[root@master etc]# chkconfig ntpd on
注意:正在将请求转发到“systemctl enable ntpd.service”。
[root@master etc]#

# slave_1从服务器启动ntpd服务,并设置开机自启
[root@slave_1 ~]# service ntpd start
[root@slave_1 ~]# chkconfig ntpd on
注意:正在将请求转发到“systemctl enable ntpd.service”。

# slave_2从服务器启动ntpd服务,并设置开机自启
[root@slave_2 ~]# service ntpd start
[root@slave_2 ~]# chkconfig ntpd on
注意:正在将请求转发到“systemctl enable ntpd.service”。

观察从服务器的时间同步

使用以下命令可以查看从服务器时间同步情况

ntpq -p ntpdc -c loopinfo

# 查看从服务器slave_1的时间同步
[root@slave_1 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*master LOCAL(0) 11 u 55 256 377 0.644 0.084 1.250
[root@slave_1 ~]# ntpdc -c loopinfo
offset: 0.000084 s
frequency: 0.072 ppm
poll adjust: 0
watchdog timer: 461 s
[root@slave_1 ~]#
# 查看从服务器slave_2的时间同步
[root@slave_2 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*master LOCAL(0) 11 u 247 256 377 0.433 0.346 4.929
[root@slave_2 ~]# ntpdc -c loopinfo
offset: 0.000346 s
frequency: -0.258 ppm
poll adjust: 0
watchdog timer: 1439 s
[root@slave_2 ~]#


总结

本文简单介绍了NTP服务的作用,以及NTP服务的搭建。本文示例中服务器环境是CentOS Linux release 7.7.1908 (Core),并且主从服务器分别配置了hostname,hosts。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器之ntp同步时间
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!