当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步。
在集群环境中,我们往往很多时候没有外网(如果有,你也不会来看这篇文章了),那么我们就需要在集群中选一台出来当“时间服务器”,所有其他服务器从是“时间服务器”同步时间,保证集群内的时间的一致性。
时间同步
集群中必须有一个统一的时间
如果是内网,需要在集群里找一台服务器:时间服务器
查看是否安装NTP包
看服务包是否安装好
ntpdate-4.2.4p8-3.el6.centos.x86_64 :时间同步某台服务器
ntp-4.2.4p8-3.el6.centos.x86_64 :作为时间服务器
查看服务
开启服务
service ntpd start
查看服务状态
设置开机自启动
# 启动ntpd服务
systemctl start ntpd.service
# 设置开机自启动
systemctl enable ntpd.service
# 停止开机自启动
systemctl disable ntpd.service
# 查看服务当前状态
systemctl status ntpd.service
# 重新启动服务
systemctl restart ntpd.service
# 查看所有已启动的服务
systemctl list-units --type=service
以上配置在所有集群服务器中都需要配置,保证ntpd服务的正常启动。下面的配置会区分是在时间服务器还是在需要同步的服务器
修改配置(时间服务器)
sudo vi /etc/ntp.conf
配置完成后重启ntpd服务
sudo service ntpd restart
设置计划任务(需要同步的其他服务器)
- 停止ntpd服务,如果不停止后面会报错:
sudo service ntpd stop
- 查找命令的绝对路径(计划任务中需要)
which ntpd
- 添加计划任务
sudo crontab -e
# sync time
0-59/10 * * * * /usr/sbin/ntpdate 192.168.31.148
说明:每10分钟从192.168.31.148这台时间服务器同步一次时间
- 查看计划任务
sudo crontab -l
执行命令(需要同步的其他服务器)
/usr/sbin/ntpdate 192.168.31.148
PS:如果上面没有先停止ntpd服务,那么执行这个命令肯定会报错。
其他常用命令:
查看当前系统时区:
$ timedatectl
Local time: Fri 2018-2-29 13:31:04 CST
Universal time: Fri 2018-2-29 05:31:04 UTC
RTC time: Fri 2018-2-29 08:17:20
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
如果你当前的时区不正确,请按照以下操作设置。
查看所有可用的时区:
$ timedatectl list-timezones
筛选式查看在亚洲S开的上海可用时区:
$ timedatectl list-timezones | grep -E "Asia/S.*"
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
设置当前系统为Asia/Shanghai上海时区:
$ timedatectl set-timezone Asia/Shanghai