让 master, slave1, slave2 同步 宿主机(192.168.137.100) 的时间
宿主机: CENTOS7
master, slave1, slave2: Centos8
时间服务器配置(必须root用户)
(1)在所有节点关闭ntp服务和自启动
systemctl stop ntpd
systemctl disable ntpd
(2)修改ntp配置文件
vim /etc/ntp.conf
修改内容如下
a)修改1(授权192.168.1.0-192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#为 去掉注释
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
b)修改2(集群在局域网中,不使用其他互联网上的时间)
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
# 为
#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
c)添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(3)修改/etc/sysconfig/ntpd 文件
vim /etc/sysconfig/ntpd
增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
(4)重新启动ntpd服务,及开机启动
systemctl start ntpd
systemctl enable ntpd
其他机器配置(必须root用户)
(1)在其他机器配置10分钟与时间服务器同步一次
(1)编写定时任务如下:
]# crontab -e
# 输入如下定时策略
*/10 * * * * /usr/sbin/ntpdate hadoop102
(2)修改任意机器时间
date -s "2017-9-11 11:11:11"
(3)十分钟后查看机器是否与时间服务器同步
date "+%F %T"
说明:测试的时候可以将10分钟调整为1分钟,节省时间。
==========================================
相关命令:
1. 宿主机:
[root@192 ~]# rpm -q ntp
未安装软件包 ntp
[root@192 ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=50 time=67.5 ms
[root@192 ~]# yum -y install ntp
已加载插件:fastestmirror
…
[root@192 ~]# ps -ef | grep ntp
root 10626 10415 0 09:34 pts/4 00:00:00 grep –color=auto ntp
[root@192 ~]# vi /etc/ntp.conf
# 根据上文配置
[root@192 ~]# systemctl status ntpd
● ntpd.service – Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@192 ~]# systemctl start ntpd
[root@192 ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@192 ~]# date “+%F %T”
[root@192 ~]# systemctl status crond
● crond.service – Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since 日 2022-01-16 17:12:11 CST; 17h ago
Main PID: 661 (crond)
[root@192 ~]# ntpdate -q localhost
server ::1, stratum 11, offset 0.000006, delay 0.02565
server 127.0.0.1, stratum 11, offset 0.000008, delay 0.02567
17 Jan 13:45:23 ntpdate[16785]: adjust time server ::1 offset 0.000006 sec
================================================
2. master, slave1, slave2 配置;
Centos8
首先安装 ntp
[root@master /]# yum -y install ntp
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 1:12:28 ago on Mon Jan 17 03:58:58 2022.
No match for argument: ntp
Error: Unable to find a match: ntp
[root@master /]# rpm -q centos-replease
package centos-replease is not installed
[root@master /]# rpm -q centos-release
package centos-release is not installed
[root@master /]# lsb-release
bash: lsb-release: command not found
[root@master /]# uname -a
Linux master 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@master /]# uname
Linux:
[root@master /]# cat /etc/redhat-release
CentOS Linux release 8.4.2105
安装 ntp 源
[root@master /]# rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
...
[root@master /]# yum install wntp
Failed to set locale, defaulting to C.UTF-8
wlnmp 449 kB/s | 2.2 MB 00:05
Last metadata expiration check: 0:00:04 ago on Mon Jan 17 05:20:08 2022.
[root@master /]# ntpdate
usage: ntpdate [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-t timeo] server …
[root@master /]# whereis ntpdate
ntpdate: /usr/local/bin/ntpdate
[root@master /]# ln -s
...
[root@master sbin]# ln -s /usr/local/bin/ntpdate /usr/sbin/ntpdate
...
[root@master sbin]# date "+%F %T"
2022-01-17 05:26:57
...
[root@master sbin]# tail -f /var/log/cron.log
tail: cannot open '/var/log/cron.log' for reading: No such file or directory
tail: no files remaining
[root@master sbin]# crontab -l
*/10 * * * * /usr/sbin/ntpdate 192.168.137.100
[root@master log]# systemctl status crond
crond.service – Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) s…
…
Jan 17 05:40:01 master crond[301]: pam_systemd(crond:session): Failed to create session: Unit systemd-logind.service is masked.
Jan 17 05:40:01 master CROND[302]: (root) CMD (/usr/sbin/ntpdate 192.168.137.100)
[root@master log]# systemctl start systemd-logind
Failed to start systemd-logind.service: Unit systemd-logind.service is masked.
[root@master log]# systemctl unmask systemd-logind
Removed /etc/systemd/system/systemd-logind.service.
[root@master log]# systemctl status systemd-logind
systemd-logind.service – Login Service
Loaded: loaded (/usr/lib/systemd/system/systemd-logind.service; static; vendor preset: disabled)
Active: active (running) since….
[root@master log]# date "+%F %T"
2022-01-17 06:00:21
[root@master log]# /usr/sbin/ntpdate 192.168.137.100
17 Jan 06:00:53 ntpdate[347]: adjust time server 192.168.137.100 offset +0.000006 sec
[root@master log]# date "+%F %T"
2022-01-17 06:01:08
# 查看时间 中国 +0800, 美国 -0800
[root@master log]# date -R
Mon, 17 Jan 2022 06:02:24 +0000(#)
[root@master log]# cat /etc/sysconfig/clock
cat: /etc/sysconfig/clock: No such file or directory
[root@master log]# systemctl status crond
创建定时任务 (crontabs)
# centos8
yum install cronie
# centos7
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
# 然后
systemctl start crond
# 查看配置的 crontab
crontab -l
添加任务
]# crontab -e
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
# 30 分种执行一次同步
[问题]: No match for argument: vixie-cron
centos8 已经改为 cronie