文章目录
- 前言
- 一、什么是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
注意: 主从服务器之间需要配置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
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。
评论前必须登录!
注册