配置NTP服务ntpd/ntp.conf

host1上安装ntp组件

yum -y install ntp

 

host1上调整时间

 

这一步为确保host1上的时间与本地时间保持一致,如果可以联网的情况下执行命令

 
  1. ntpdate 0.centos.pool.ntp.org #该网址为centos网络上的时间同步服务器

  2. 一般情况下,我们的集群为内网环境,无法和外网进行联网同步之间,那么手动执行命令调整时间
date -s '2008-05-23 01:01:01' + '%F %T' #2008-05-23 01:01:01为将要设定的时间

host1上修改配置文件/etc/ntp.conf

vi /etc/ntp.conf

添加下面两行,表示将本地的硬件时间也作为同步的时间源之一,这样在不联网的时候可以把本机时间作为同步时间源, 在内网环境下,可以把配置文件中其他的server都删除掉。 

server 127.127.1.0 # local clock 

fudge 127.127.1.0 stratum 10

如果集群是在一个封闭的局域网内,可以屏蔽掉默认的server:
#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

 

host1上配置客户端的授权

restrict 192.168.71.221 mask 255.255.255.250 nomodify notrap

也就是给指定的机器(客户端)设置访问NTP Server的权限,这是通过restrict配置项实现的,以下是它的格式说明。

 

 

其中parameter的参数主要有:
ignore        :    拒绝所有类型的ntp连接
nomodify    :    客户端不能使用ntpc与ntpq两支程式来修改服务器的时间参数
noquery        :    客户端不能使用ntpq、ntpc等指令来查询服务器时间,等于不提供ntp的网络校时
notrap        :    不提供trap这个远程时间登录的功能
notrust        :    拒绝没有认证的客户端
nopeer        :    不与其他同一层的ntp服务器进行时间同步

让我们通过一个例子来解释一下,在 /etc/ntp.conf中加入如下一行:

restrict 10.221.18.112 mask 255.255.255.240 nomodify notrap

这一行的含义是授权10.221.18.112网段上的所有机器可以从这台机器上查询和同步时间。这里的配置涉及到了一些网络知识。 对于第一个参数[address] 它可能是一个IP,也可能是一个网段,这取决于后面给出的子网掩码。如果这里的子网掩码是255.255.255.255,那么配置就变成了只授权给IP是10.221.18.112的那一台机器连接!但是这里子网掩码是255.255.255.240,则此时的10.221.18.112就是一个网络标识了!它代表的是这样一个网段:

网络标识
(网段名)
主机 广播地址
起始 结束
10.221.18.112 10.221.18.113 10.221.18.126 10.221.18.127
 

host1上启动ntp组件

 
  1. service ntpd start #启动ntpd时间服务器

  2. chkconfig ntpd on #开机自启动

需要同步时间的服务器ntp组件安装

这里指的就是host2,host3

host2,host3上安装ntp组件

在host2,host3上分别执行命令安装ntp,跟上面《host1上安装ntp组件》安装方式一致,其余安装方式也参考上面

yum -y install ntp

host2,host3上修改配置文件/etc/ntp.conf

vi /etc/ntp.conf

删除其他的server 开头的配置项,这里一定要删除,只同步我们配置的那台服务器,添加上面设置的NTP服务器地址 

server host1

host2,host3上启动ntp组件并测试

 
  1. service ntpd start #启动ntpd时间服务器

  2. chkconfig ntpd on #开机自启动

查看与时间同步服务器的时间偏差

 
  1. [root@host2 ~]# ntpdc -c loopinfo

  2. offset: 0.001014 s #时间偏差极小,即同步了

  3. frequency: 29.720 ppm

  4. poll adjust: 30

  5. watchdog timer: 929 s

查看当前同步的时间服务器,查看没问题就安装成功了

 
  1. [root@host2 ~]# ntpq -p

  2. remote refid st t when poll reach delay offset jitter

  3. ==============================================================================

  4. *host1 202.112.29.82 3 u 764 1024 377 0.369 7.155 7.045

  5. #这里出现host1就表示host2与host1自动同步时间,host1前面的*表示正在使用的时间同步服务器,如果配置多个,还有出现+开头的,表示候选的时间同步服务器

至此ntp时间同步服务器全部搭建成功,host1作为被同步时间的时间同步服务器,host2,host3自动与host1进行时间同步。补充说明:以上配置为最基础的ntp配置,其他还有很多可以配置的选项。时间同步也可以手动采用ntpdate host1的方式进行,另外后续用cloudera manager安装cdh的时候,一定要采用本文方式安装,如果用crontab + ntpdate host1的方式,cloudera manager是无法判断是否安装了ntp的,会报"The host’s NTP service is not synchronized to any remote server."这样的错误或警告。

你可能感兴趣的:(linux,ntp)