公司的全文产品夜里老是丢数据,为什么?追查后发现原因是夜里索引合并1.03分是,数据已经过期,无法执行日期的索引合并。
查询机制:当天数据按小时查找索引,以前的按天查询索引。那些无法合并到天索引的数据就无法查询到。
故我拿了一台机器作为时间同步服务机器10.0.0.106,启动服务service ntpd start.
但是发现全文机器无法向其对时。
(/etc/crontab 添加12 3 * * * root /usr/sbin/ntpdate 10.0.0.106,表示夜里3:12对时,一天次就够了,除非被有意串改)
当用ntpdate -d 来查询时会发现导致 no server suitable for synchronization found 的错误的信息有个:
在ntp客户端运行ntpdate 10.0.0.106,出现no server suitable for synchronization found的错误。
在ntp客户端用ntpdate –d 10.0.0.106查看,发现有“Server dropped: Strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
这是因为NTP server还没有和其自身或者它的server同步上。
以下的定义是让NTP Server和其自身保持同步,如果在/etc/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
fudge 127.127.1.0 stratum 5
在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。
那么如何知道何时ntp server完成了和自身同步的过程呢?
在ntp server上使用命令:
出现画面:
Every 2.0s: ntpq -p Thu Jul 10 02:28:32 2008
remote refid st t when poll reach delay offset jitter
==============================================================================
192.168.30.22 LOCAL(0) 8 u 22 64 1 2.113 179133. 0.001
LOCAL(0) LOCAL(0) 10 l 21 64 1 0.000 0.000 0.001
注意LOCAL的这个就是与自身同步的ntp server。
注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。
如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。
然后对时成功的结果显示
adjust time server 10.0.0.106 offset -0.000463 sec