启动OceanBase集群时提示Cluster NTP is out of sync的解决方法
问题现象描述
启动OceanBase集群时提示:
[ERROR] Cluster NTP is out of sync.
关键过程、根本原因分析
由于OceanBase集群中主机时差超过100ms导致产生该报错,需要通过NTP服务来进行时间同步。
结论、解决方案及效果
- 关闭防火墙。
systemctl stop firewalld systemctl disable firewalld systemctl status firewalld
- 安装并配置NTP服务。
- 在所有集群和NTP客户端节点安装NTP。
1
yum -y install ntp ntpdate
- 在所有集群和NTP客户端节点备份旧配置。
1
cd /etc && mv ntp.conf ntp.conf.bak
- 选择一台服务器为NTP服务端节点,在该服务器上新建并配置NTP文件。在本例中以192.168.0.216服务器为NTP服务端节点。
- 创建文件。
1
vi /etc/ntp.conf
- 按“i”进入编辑模式,并在文件中新增如下内容作为NTP服务端:
1 2 3 4 5
restrict 127.0.0.1 restrict ::1 restrict 192.168.0.216 mask 255.255.255.0 server 127.127.1.0 fudge 127.127.1.0 stratum 8
其中,restrict 192.168.0.216 mask 255.255.255.0是NTP服务器的网段与掩码。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 创建文件。
- 在其他所有NTP客户端节点新建NTP文件。
- 打开文件。
1
vi /etc/ntp.conf
- 按“i”进入编辑模式,并在文件中新增如下内容作为客户端节点:
1
server 192.168.0.216
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 在所有集群和NTP客户端节点安装NTP。
- 启动和同步NTP服务。
- 在192.168.0.216 NTP服务端节点启动NTP服务并查看NTP服务状态。
1 2 3
systemctl start ntpd systemctl enable ntpd systemctl status ntpd
- 在其他所有NTP客户端节点强制同步192.168.0.216 NTP服务端节点的时间。
1
ntpdate 192.168.0.216
- 在除了192.168.0.216 NTP服务端节点的所有节点写入硬件时钟,以避免重启服务器后时间同步失效。
1
hwclock -w
- 在除了192.168.0.216 NTP服务端节点的所有节点安装并启动crontab工具。
1 2 3 4
yum install -y crontabs chkconfig crond on systemctl start crond crontab -e
在执行crontab -e命令后将打开当前用户的crontab文件,用于编辑定时任务。
- 在打开的crontab文件中添加以下内容,设置每隔10min自动与192.168.0.216 NTP服务端节点同步时间。
1
*/10 * * * * /usr/sbin/ntpdate 192.168.0.216
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 在192.168.0.216 NTP服务端节点启动NTP服务并查看NTP服务状态。
父主题: 故障排除