公司的全文產品夜里老是丟數據,為什么?追查后發現原因是夜里索引合並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客戶端。


在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