启用网络时间协议 (NTP)

必须在群集中的所有主机上运行网络时间协议 (NTP) 守护程序,才能使其时钟保持同步状态。Spread 守护程序依赖于所有节点将其时钟进行同步,以用于定时用途。如果节点没有运行 NTP,则安装可能失败,并且显示 spread 配置错误或其他错误。

验证 NTP 是否正在运行

为验证主机是否已配置为在启动时运行 NTP 守护程序,请输入以下命令:

$ chkconfig --list ntpd

Debian 和 Ubuntu 不支持 chkconfig,但它们提供了可选的软件包。可使用命令 sudo apt-get install sysv-rc-conf 安装此软件包。为验证是否已使用 sysv-rc-conf 实用工具将主机配置为在启动时运行 NTP 守护程序,请输入以下命令:

$ sysv-rc-conf --list ntpd

chkconfig 命令可能生成类似于 ntpd: unknown service 的错误。如果出现此错误,请验证 Linux 发行版将 NTP 守护程序称为 ntpd,而不是 ntp。否则,在配置之前,需要安装 NTP 守护程序软件包。有关如何查找和安装软件包的说明,请查阅 Linux 文档。

如果已安装 NTP 守护程序,则应显示与以下类似的输出:

ntp 0:off 1:off 2:on 3:on 4:off 5:on 6:off

该输出指示了运行守护程序的运行级别。验证系统的当前运行级别(通常为 3 或 5)已将 NTP 守护程序设为 on。如果当前运行级别未知,可使用 runlevel 命令查明运行级别:

$ runlevel
N 3

为 Red Hat 6/CentOS 6 和 SLES 配置 NTP

如果系统基于 Red Hat 6/CentOS 6 或 SUSE Linux Enterprise Server,请使用 servicechkconfig 实用程序启动 NTP 并将其设为在系统启动时启动。

$ /sbin/service ntpd restart
$ /sbin/chkconfig ntpd on
  • Red Hat 6/CentOS 6 —NTP 使用位于 ntp.org 的默认时间服务器。可通过编辑 /etc/ntpd.conf 来更改默认的 NTP 服务器。

  • SLES —默认情况下未配置任何时间服务器。在安装完成并添加时间服务器后,必须编辑 /etc/ntpd.conf

为 ubuntu 和 debian 配置 NTP

默认情况下,一些 Ubuntu 和 Debian 系统上没有安装 NTP 守护程序。首先安装 NTP,然后启动 NTP 进程。如下所示,可通过编辑 /etc/ntpd.conf 来更改默认的 NTP 服务器:

$ sudo apt-get install ntp
$ sudo /etc/init.d/ntp reload

验证 NTP 是否正在正常运行

要验证网络时间协议守护程序 (NTPD) 是否正确运行,请在群集中的所有节点上发出以下命令。

对于 Red Hat 6/CentOS 6 和 SLES:

$ /usr/sbin/ntpq -c rv | grep stratum

对于 Ubuntu 和 Debian:

$ ntpq -c rv | grep stratum

层级别 16 指示 NTP 未正确同步。

如果检测到层级别 16,则等待 15 分钟,然后再次发出该命令。要使 NTP 服务器稳定下来,可能需要这么长时间。

如果 NTP 仍旧检测到层级别 16,则验证在群集与您尝试同步的远程计算机之间的所有防火墙上,NTP 端口(UDP 端口 123)是否均处于开放状态。

与 NTP 相关的 Red hat 文档

前述链接是截至 Vertica 文档上次发布时的最新链接,并且在不同版本之间可能有所变化。