Linux环境搭建:NTP时间同步

导语

      大数据有不少分布式组件,是需要各个节点保持时间同步的,比如hbase,cdh管理平台等。本文重点介绍centos7环境下,ntp服务的搭建。

 

核心过程

       需要做时间同步的各个节点,选取一台作为主节点,其他从节点都向这台主节点做时间同步,而主节点向网络标准时间做同步。

 

详细步骤

各节点安装ntp,ntpdate服务

执行如下两个命令

[root@cdh02 ~]$ yum install -y ntp 
# Loaded plugins: fastestmirror
# Loading mirror speeds from cached hostfile
 # * base: mirrors.163.com
 # * extras: mirrors.cqu.edu.cn
 # * updates: mirrors.cqu.edu.cn
# base                                                                                                                                              # | 3.6 kB  00:00:00     
# extras                                                                                                                                            # | 2.9 kB  00:00:00     
# updates                                                                                                                                           # | 2.9 kB  00:00:00     
# Package ntp-4.2.6p5-29.el7.centos.x86_64 already installed and latest version
# Nothing to do




[root@cdh02 ~]$ yum install -y ntpdate
# Loaded plugins: fastestmirror
# Loading mirror speeds from cached hostfile
 # * base: mirrors.163.com
 # * extras: mirrors.cqu.edu.cn
 # * updates: mirrors.cqu.edu.cn
# Package ntpdate-4.2.6p5-29.el7.centos.x86_64 already installed and latest version
# Nothing to do

 如果已经安装过,则会出现如上的提示,如未安装,则执行在线安装

 

编辑ntp配置

主节点: vi /etc/ntp.conf 

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 1 同步网络时间地址
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

# 2 当外部时间不可用,则使用当前硬件时间
server 127.127.1.0 iburst local lock

# 3 允许哪些网段的机器,来同步时间
restrict 192.168.60.0 mask 255.255.255.0 nomodify notrap

注:1位置为修改原有的配置,2,3位置的新增加的,其余原有文件配置保持不动

 

各从节点;  vi /etc/ntp.conf 


# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 客户端节点配置同步时间的主节点,表示向主节点cdh01同步时间
server cdh01 prefer
server 127.127.1.0
fudge 127.127.1.0 stratum 10

各从节点  vi /etc/ntp/step-tickers

#配置上主机的ntp主服务器,去掉原来的远程ntp服务器
cdh01

 

各节点启动ntp服务

# 启动ntp服务  centos7 环境下需要加sudo,否则关机后重启有可能启动失败
[root@cdh01 ~]$ sudo systemctl restart ntpd

#查看ntp服务状态
[root@cdh01 ~]$ systemctl status ntpd 
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-05-03 12:07:12 CST; 48s ago
  Process: 25722 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 25723 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─25723 /usr/sbin/ntpd -u ntp:ntp -g

May 03 12:07:12 cdh01 ntpd[25723]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
May 03 12:07:12 cdh01 ntpd[25723]: Listen and drop on 1 v6wildcard :: UDP 123
May 03 12:07:12 cdh01 ntpd[25723]: Listen normally on 2 lo 127.0.0.1 UDP 123
May 03 12:07:12 cdh01 ntpd[25723]: Listen normally on 3 ens33 192.168.60.111 UDP 123
May 03 12:07:12 cdh01 ntpd[25723]: Listen normally on 4 lo ::1 UDP 123
May 03 12:07:12 cdh01 ntpd[25723]: Listen normally on 5 ens33 fe80::76b6:c7f8:7df3:13c1 UDP 123
May 03 12:07:12 cdh01 ntpd[25723]: Listening on routing socket on fd #22 for interface updates
May 03 12:07:13 cdh01 ntpd[25723]: 0.0.0.0 c016 06 restart
May 03 12:07:13 cdh01 ntpd[25723]: 0.0.0.0 c012 02 freq_set kernel -6.567 PPM
May 03 12:07:17 cdh01 ntpd[25723]: 0.0.0.0 c515 05 clock_sync

启动服务后,可以看到ntp服务状态为running

 

各从节点检查是否能向主节点同步时间

[root@cdh02 ~]$ ntpdate -u cdh01
 # 3 May 12:11:22 ntpdate[13376]: adjust time server 192.168.60.111 offset 0.002199 sec

 

各节点设置开机启动ntp服务

# 执行命令,开机启动ntp服务
[root@cdh01 ~]$ sudo systemctl enable ntpd
# Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

 

各从节点配置crontab,定时同步主节点时间

[root@cdh03 ~]$ crontab -e
# follow time from master host
0 * * * * ntpdate -u cdh01
# write system time to hardware time
1 * * * * hwclock --systohc

注:同步时间后,还需把同步到的时间写入机器硬件时间,命令为 hwclock --systohc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 搭建 NTP 服务器需要安装 NTP 服务器软件包,如 ntpd 或 chrony。 1. 安装 NTP 服务器软件: sudo apt-get install ntp 2. 配置 NTP 服务器: sudo nano /etc/ntp.conf 3. 在配置文件中指定 NTP 同步源: server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org 4. 重启 NTP 服务: sudo service ntp restart 5. 检查 NTP 状态: ntpq -p 如果一切顺利,你的 NTP 服务器现在已经搭建完成,可以向其他系统提供时间同步服务。 ### 回答2: Linux NTP服务器,其实就是将Linux的系统时间同步到外部的NTP服务器,从而保证系统时间的准确性。NTP服务器是许多网络应用程序的绝对关键,它可以同步大型网络中所有计算机的精确时钟,以确保它们之间的时间保持一致性。 搭建Linux NTP服务器,可以分为以下几步: 1.安装NTP服务 在Linux中,使用NTP与时间服务器进行同步需要安装NTP服务。可以使用以下命令进行安装。 sudo apt-get install ntp 2.配置NTP服务 安装完NTP服务之后,需要进行配置。可以修改/etc/ntp.conf配置文件,添加外部的时间服务器。例如: server ntp1.aliyun.com server ntp2.aliyun.com 当然也可以使用其他地方的时间服务器,这里以阿里云的为例。需要注意的是,启用NTP服务器需要开放123端口。 3.启动NTP服务 完成上述配置之后,启动NTP服务。 sudo service ntp start 在服务启动之后,可以通过以下命令查看同步情况。 ntpq -p 这里ntp -p命令用于显示目前正在与之同步的服务器列表,以及相关的信息,如延迟、偏差、精度等。 4.校验时间同步 最后需要进行时间同步校验。可通过以下命令查看本地时间: date 通常来说,NTP服务器每天进行1-2次的同步,以确保服务器时间和本地时间一致。对于分布式系统来说,时间同步是至关重要的,因为分布式系统处理的数据需要时间戳,如果几个计算机的时间不同步,就会导致数据错误。 总之,搭建Linux NTP服务器简单易操作,只需在Linux上安装NTP服务,配置外部的时间服务器,启动NTP服务就可以完成时间同步,从而保证系统时间的准确性。 ### 回答3: NTP(Network Time Protocol)是一种网络协议,用于同步多台计算机的时间。在Linux系统中,可以使用NTP服务器来同步系统时间,以确保所有计算机的时间始终保持一致。下面是Linux NTP服务器搭建的步骤: 1. 安装NTP服务 在Linux系统中,可以使用yum或apt-get等软件包管理器来安装NTP服务。例如,在CentOS系统中,可以运行以下命令来安装NTP: ``` $ sudo yum install ntp ``` 在Ubuntu系统中,可以运行以下命令来安装NTP: ``` $ sudo apt-get install ntp ``` 2. 配置NTP服务 安装完成NTP服务之后,需要对NTP进行一些基本配置。打开/etc/ntp.conf文件,编辑其中的server行,将其指向一个可用的NTP服务器。例如,可以将其设置为time.nist.gov: ``` server time.nist.gov ``` 此外,还可以添加其他的NTP服务器进行备份: ``` server time.nist.gov server pool.ntp.org ``` 3. 启动NTP服务 配置完成后,启动NTP服务。在CentOS系统中,可以使用以下命令启动NTP: ``` $ sudo systemctl start ntpd ``` 在Ubuntu系统中,可以使用以下命令启动NTP: ``` $ sudo systemctl start ntp ``` 4. 设置NTP服务开机自启动 为了让NTP服务在系统重启后自动启动,需要将其设置为开机自启动。在CentOS系统中,可以使用以下命令设置NTP服务开机自启动: ``` $ sudo systemctl enable ntpd ``` 在Ubuntu系统中,可以使用以下命令设置NTP服务开机自启动: ``` $ sudo systemctl enable ntp ``` 5. 测试NTP服务 最后,可以使用ntpdate命令测试NTP服务是否正常。例如,可以运行以下命令: ``` $ sudo ntpdate time.nist.gov ``` 该命令会从time.nist.gov服务器同步系统时间。如果命令执行成功,即表示NTP服务已正常工作。 总结: 搭建Linux NTP服务器只需几个简单的步骤,包括安装NTP服务、配置NTP服务、启动NTP服务、设置NTP服务开机自启动和测试NTP服务。通过NTP服务器同步系统时间,可以确保多台计算机时间的一致性,提高系统稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值