時(shí)間服務(wù)器作用:
大數(shù)據(jù)產(chǎn)生與處理系統(tǒng)是各種計(jì)算設(shè)備集群的拧廊,計(jì)算設(shè)備將統(tǒng)一课兄、同步的標(biāo)準(zhǔn)時(shí)間用于記錄各種事件發(fā)生時(shí)序,
如E-MAIL信息藏古、文件創(chuàng)建和訪問時(shí)間增炭、數(shù)據(jù)庫(kù)處理時(shí)間等。
大數(shù)據(jù)系統(tǒng)內(nèi)不同計(jì)算設(shè)備之間控制校翔、計(jì)算弟跑、處理、應(yīng)用等數(shù)據(jù)或操作都具有時(shí)序性防症,
若計(jì)算機(jī)時(shí)間不同步孟辑,這些應(yīng)用或操作或?qū)o法正常進(jìn)行。
大數(shù)據(jù)系統(tǒng)是對(duì)時(shí)間敏感的計(jì)算處理系統(tǒng)蔫敲,時(shí)間同步是大數(shù)據(jù)能夠得到正確處理的基礎(chǔ)保障饲嗽,是大數(shù)據(jù)得以發(fā)揮作用的技術(shù)支撐。
大數(shù)據(jù)時(shí)代奈嘿,整個(gè)處理計(jì)算系統(tǒng)內(nèi)的大數(shù)據(jù)通信都是通過網(wǎng)絡(luò)進(jìn)行貌虾。
時(shí)間同步也是如此,利用大數(shù)據(jù)的互聯(lián)網(wǎng)絡(luò)傳送標(biāo)準(zhǔn)時(shí)間信息裙犹,實(shí)現(xiàn)大數(shù)據(jù)系統(tǒng)內(nèi)時(shí)間同步尽狠。
網(wǎng)絡(luò)時(shí)間同步協(xié)議(NTP)是時(shí)間同步的技術(shù)基礎(chǔ)。
(一)確認(rèn)ntp的安裝
1)確認(rèn)是否已安裝ntp
【命令】rpm –qa | grep ntp
若只有ntpdate而未見ntp叶圃,則需刪除原有ntpdate袄膏。如:
ntpdate-4.2.6p5-22.el7_0.x86_64
fontpackages-filesystem-1.44-8.el7.noarch
python-ntplib-0.3.2-1.el7.noarch
2)刪除已安裝ntp
【命令】yum –y remove ntpdate-4.2.6p5-22.el7.x86_64
3)重新安裝ntp
【命令】yum –y install ntp
(二)配置ntp服務(wù)
1)修改所有節(jié)點(diǎn)的/etc/ntp.conf
【命令】vi /etc/ntp.conf
【內(nèi)容】
restrict 192.168.6.3 nomodify notrap nopeer noquery //當(dāng)前節(jié)點(diǎn)IP地址
restrict 192.168.6.2 mask 255.255.255.0 nomodify notrap //集群所在網(wǎng)段的網(wǎng)關(guān)(Gateway),子網(wǎng)掩碼(Genmask)
2)選擇一個(gè)主節(jié)點(diǎn)掺冠,修改其/etc/ntp.conf
【命令】vi /etc/ntp.conf
【內(nèi)容】在server部分添加一下部分沉馆,并注釋掉server 0 ~ n
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
3)主節(jié)點(diǎn)以外,繼續(xù)修改/etc/ntp.conf
【命令】vi /etc/ntp.conf
【內(nèi)容】在server部分添加如下語句德崭,將server指向主節(jié)點(diǎn)斥黑。
server 192.168.6.3
Fudge 192.168.6.3 stratum 10
===修改前===
===修改后===
節(jié)點(diǎn)1(192.168.6.3):
節(jié)點(diǎn)2(192.168.6.4):
節(jié)點(diǎn)3(192.168.6.5):
(三)啟動(dòng)ntp服務(wù)、查看狀態(tài)
1)啟動(dòng)ntp服務(wù)
【命令】service ntpd start
2)查看ntp服務(wù)器有無和上層ntp連通
【命令】ntpstat
查看ntp狀態(tài)時(shí)眉厨,可能會(huì)出現(xiàn)如下所示情況
① unsynchronised time server re-starting polling server every 8 s
② unsynchronised polling server every 8 s
這種情況屬于正常锌奴,ntp服務(wù)器配置完畢后,需要等待5-10分鐘才能與/etc/ntp.conf中配置的標(biāo)準(zhǔn)時(shí)間進(jìn)行同步缺猛。
等一段時(shí)間之后缨叫,再次使用ntpstat命令查看狀態(tài)椭符,就會(huì)變成如下正常結(jié)果:
3)查看ntp服務(wù)器與上層ntp的狀態(tài)
【命令】ntpq -p
remote:本機(jī)和上層ntp的ip或主機(jī)名,“+”表示優(yōu)先耻姥,“*”表示次優(yōu)先
refid:參考上一層ntp主機(jī)地址
st:stratum階層
when:多少秒前曾經(jīng)同步過時(shí)間
poll:下次更新在多少秒后
reach:已經(jīng)向上層ntp服務(wù)器要求更新的次數(shù)
delay:網(wǎng)絡(luò)延遲
offset:時(shí)間補(bǔ)償
jitter:系統(tǒng)時(shí)間與bios時(shí)間差
4)查看ntpd進(jìn)程的狀態(tài)
【命令】watch "ntpq -p"
【終止】按 Ctrl+C 停止查看進(jìn)程销钝。
第一列中的字符指示源的質(zhì)量。星號(hào) ( * ) 表示該源是當(dāng)前引用琐簇。
remote:列出源的 IP 地址或主機(jī)名蒸健。
when:指出從輪詢?cè)撮_始已過去的時(shí)間(秒)。
poll:指出輪詢間隔時(shí)間婉商。該值會(huì)根據(jù)本地時(shí)鐘的精度相應(yīng)增加似忧。
reach:是一個(gè)八進(jìn)制數(shù)字,指出源的可存取性丈秩。值 377 表示源已應(yīng)答了前八個(gè)連續(xù)輪詢盯捌。
offset:是源時(shí)鐘與本地時(shí)鐘的時(shí)間差(毫秒)。
(四)設(shè)置開機(jī)啟動(dòng)
【命令】chkconfig ntpd on
(五)從其他博客的一些參考摘錄
===/etc/ntp.conf 配置內(nèi)容===
[](javascript:void(0); "復(fù)制代碼")
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># 1. 先處理權(quán)限方面的問題蘑秽,包括放行上層服務(wù)器以及開放局域網(wǎng)用戶來源:
restrict default kod nomodify notrap nopeer noquery <==拒絕 IPv4 的用戶
restrict -6 default kod nomodify notrap nopeer noquery <==拒絕 IPv6 的用戶
restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 進(jìn)入本 NTP 的服務(wù)器
restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 進(jìn)入本 NTP 的服務(wù)器
restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 進(jìn)入本 NTP 的服務(wù)器
restrict 127.0.0.1 <==底下兩個(gè)是默認(rèn)值饺著,放行本機(jī)來源
restrict -6 ::1 restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行局域網(wǎng)用戶來源,或者列出單獨(dú)IP
2. 設(shè)定主機(jī)來源肠牲,請(qǐng)先將原本的 [0|1|2].centos.pool.ntp.org 的設(shè)定批注掉:
server 220.130.158.71 prefer <==以這部主機(jī)為最優(yōu)先的server
server 59.124.196.83 server 59.124.196.84 # 3.默認(rèn)的一個(gè)內(nèi)部時(shí)鐘數(shù)據(jù)幼衰,用在沒有外部 NTP 服務(wù)器時(shí),使用它為局域網(wǎng)用戶提供服務(wù):
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 # 4.預(yù)設(shè)時(shí)間差異分析檔案與暫不用到的 keys 等缀雳,不需要更動(dòng)它:
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys </pre>
](javascript:void(0); "復(fù)制代碼")
===restrict選項(xiàng)格式===
restrict [ 客戶端IP ] mask [ IP掩碼 ] [參數(shù)]
“客戶端IP” 和 “IP掩碼” 指定了對(duì)網(wǎng)絡(luò)中哪些范圍的計(jì)算機(jī)進(jìn)行控制渡嚣,如果使用default關(guān)鍵字,則表示對(duì)所有的計(jì)算機(jī)進(jìn)行控制肥印,參數(shù)指定了具體的限制內(nèi)容识椰,常見的參數(shù)如下:
◆ ignore:拒絕連接到NTP服務(wù)器
◆ nomodiy: 客戶端不能更改服務(wù)端的時(shí)間參數(shù),但是客戶端可以通過服務(wù)端進(jìn)行網(wǎng)絡(luò)校時(shí)深碱。
◆ noquery: 不提供客戶端的時(shí)間查詢
◆ notrap: 不提供trap遠(yuǎn)程登錄功能裤唠,trap服務(wù)是一種遠(yuǎn)程時(shí)間日志服務(wù)。
◆ notrust: 客戶端除非通過認(rèn)證莹痢,否則該客戶端來源將被視為不信任子網(wǎng) 。
◆ nopeer: 提供時(shí)間服務(wù)墓赴,但不作為對(duì)等體竞膳。
◆ kod: 向不安全的訪問者發(fā)送Kiss-Of-Death報(bào)文。
===server選項(xiàng)格式===
server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]
其中host是上層NTP服務(wù)器的IP地址或域名诫硕,隨后所跟的參數(shù)解釋如下所示:
◆ key: 表示所有發(fā)往服務(wù)器的報(bào)文包含有秘鑰加密的認(rèn)證信息坦辟,n是32位的整數(shù),表示秘鑰號(hào)章办。
◆ version: 表示發(fā)往上層服務(wù)器的報(bào)文使用的版本號(hào),n默認(rèn)是3瓮下,可以是1或者2前塔。
◆ prefer: 如果有多個(gè)server選項(xiàng),具有該參數(shù)的服務(wù)器有限使用亭饵。
◆ mode: 指定數(shù)據(jù)報(bào)文mode字段的值。
◆ minpoll: 指定與查詢?cè)摲?wù)器的最小時(shí)間間隔為2的n次方秒梁厉,n默認(rèn)為6辜羊,范圍為4-14。
◆ maxpoll: 指定與查詢?cè)摲?wù)器的最大時(shí)間間隔為2的n次方秒词顾,n默認(rèn)為10八秃,范圍為4-14。
◆ iburst: 當(dāng)初始同步請(qǐng)求時(shí)肉盹,采用突發(fā)方式接連發(fā)送8個(gè)報(bào)文昔驱,時(shí)間間隔為2秒。
===查看網(wǎng)關(guān)方法===
【命令1】route -n
【命令2】ip route show
【命令3】netstat -r
===層次(stratum)===
stratum根據(jù)上層server的層次而設(shè)定(+1)上忍。
對(duì)于提供network time service provider的主機(jī)來說骤肛,stratum的設(shè)定要盡可能準(zhǔn)確。
而作為局域網(wǎng)的time service provider睡雇,通常將stratum設(shè)置為10
0層的服務(wù)器采用的是原子鐘萌衬、GPS鐘等物理設(shè)備,stratum 1與stratum 0 是直接相連的它抱,
往后的stratum與上一層stratum通過網(wǎng)絡(luò)相連秕豫,同一層的server也可以交互。
ntpd對(duì)下層client來說是service server观蓄,對(duì)于上層server來說它是client混移。
ntpd根據(jù)配置文件的參數(shù)決定是要為其他服務(wù)器提供時(shí)鐘服務(wù)或者是從其他服務(wù)器同步時(shí)鐘。所有的配置都在/etc/ntp.conf文件中侮穿。
[圖片上傳失敗...(image-f2dcb9-1561634142658)]
===注意防火墻屏蔽ntp端口===
ntp服務(wù)器默認(rèn)端口是123歌径,如果防火墻是開啟狀態(tài),在一些操作可能會(huì)出現(xiàn)錯(cuò)誤亲茅,所以要記住關(guān)閉防火墻回铛。ntp采用的時(shí)udp協(xié)議
sudo firewall-cmd --zone=public --add-port=123/udp --permanent
===同步硬件時(shí)鐘===
ntp服務(wù),默認(rèn)只會(huì)同步系統(tǒng)時(shí)間克锣。
如果想要讓ntp同時(shí)同步硬件時(shí)間茵肃,可以設(shè)置/etc/sysconfig/ntpd文件,
在/etc/sysconfig/ntpd文件中袭祟,添加【SYNC_HWCLOCK=yes】這樣验残,就可以讓硬件時(shí)間與系統(tǒng)時(shí)間一起同步。
允許BIOS與系統(tǒng)時(shí)間同步巾乳,也可以通過hwclock -w 命令您没。
===ntpd鸟召、ntpdate的區(qū)別===
下面是網(wǎng)上關(guān)于ntpd與ntpdate區(qū)別的相關(guān)資料。如下所示所示:
使用之前得弄清楚一個(gè)問題氨鹏,ntpd與ntpdate在更新時(shí)間時(shí)有什么區(qū)別欧募。
ntpd不僅僅是時(shí)間同步服務(wù)器,它還可以做客戶端與標(biāo)準(zhǔn)時(shí)間服務(wù)器進(jìn)行同步時(shí)間喻犁,而且是平滑同步槽片,
并非ntpdate立即同步,在生產(chǎn)環(huán)境中慎用ntpdate肢础,也正如此兩者不可同時(shí)運(yùn)行还栓。
時(shí)鐘的躍變,對(duì)于某些程序會(huì)導(dǎo)致很嚴(yán)重的問題传轰。
許多應(yīng)用程序依賴連續(xù)的時(shí)鐘——畢竟剩盒,這是一項(xiàng)常見的假定,即慨蛙,取得的時(shí)間是線性的辽聊,
一些操作,例如數(shù)據(jù)庫(kù)事務(wù)期贫,通常會(huì)地依賴這樣的事實(shí):時(shí)間不會(huì)往回跳躍跟匆。
不幸的是,ntpdate調(diào)整時(shí)間的方式就是我們所說的”躍變“:在獲得一個(gè)時(shí)間之后通砍,ntpdate使用settimeofday(2)設(shè)置系統(tǒng)時(shí)間玛臂,
這有幾個(gè)非常明顯的問題:
【一】這樣做不安全。
ntpdate的設(shè)置依賴于ntp服務(wù)器的安全性封孙,攻擊者可以利用一些軟件設(shè)計(jì)上的缺陷迹冤,拿下ntp服務(wù)器并令與其同步的服務(wù)器執(zhí)行某些消耗性的任務(wù)。
由于ntpdate采用的方式是跳變虎忌,跟隨它的服務(wù)器無法知道是否發(fā)生了異常(時(shí)間不一樣的時(shí)候泡徙,唯一的辦法是以服務(wù)器為準(zhǔn))。
【二】這樣做不精確膜蠢。
一旦ntp服務(wù)器宕機(jī)堪藐,跟隨它的服務(wù)器也就會(huì)無法同步時(shí)間。
與此不同挑围,ntpd不僅能夠校準(zhǔn)計(jì)算機(jī)的時(shí)間庶橱,而且能夠校準(zhǔn)計(jì)算機(jī)的時(shí)鐘。
【三】這樣做不夠優(yōu)雅贪惹。
由于是跳變,而不是使時(shí)間變快或變慢寂嘉,依賴時(shí)序的程序會(huì)出錯(cuò)
(例如奏瞬,如果ntpdate發(fā)現(xiàn)你的時(shí)間快了枫绅,則可能會(huì)經(jīng)歷兩個(gè)相同的時(shí)刻,對(duì)某些應(yīng)用而言硼端,這是致命的)并淋。
因而,唯一一個(gè)可以令時(shí)間發(fā)生跳變的點(diǎn)珍昨,是計(jì)算機(jī)剛剛啟動(dòng)县耽,但還沒有啟動(dòng)很多服務(wù)的那個(gè)時(shí)候。
其余的時(shí)候镣典,理想的做法是使用ntpd來校準(zhǔn)時(shí)鐘兔毙,而不是調(diào)整計(jì)算機(jī)時(shí)鐘上的時(shí)間。
NTPD在和時(shí)間服務(wù)器的同步過程中兄春,會(huì)把BIOS計(jì)時(shí)器的振蕩頻率偏差——或者說Local Clock的自然漂移(drift)——記錄下來澎剥。
這樣即使網(wǎng)絡(luò)有問題,本機(jī)仍然能維持一個(gè)相當(dāng)精確的走時(shí)赶舆。
===國(guó)內(nèi)常用NTP服務(wù)器地址及IP===
210.72.145.44 (國(guó)家授時(shí)中心服務(wù)器IP地址)
133.100.11.8 日本 福岡大學(xué)
time-a.nist.gov 129.6.15.28 NIST, Gaithersburg, Maryland
time-b.nist.gov 129.6.15.29 NIST, Gaithersburg, Maryland
time-a.timefreq.bldrdoc.gov 132.163.4.101 NIST, Boulder, Colorado
time-b.timefreq.bldrdoc.gov 132.163.4.102 NIST, Boulder, Colorado
time-c.timefreq.bldrdoc.gov 132.163.4.103 NIST, Boulder, Colorado
utcnist.colorado.edu 128.138.140.44 University of Colorado, Boulder
time.nist.gov 192.43.244.18 NCAR, Boulder, Colorado
time-nw.nist.gov 131.107.1.10 Microsoft, Redmond, Washington
nist1.symmetricom.com 69.25.96.13 Symmetricom, San Jose, California
nist1-dc.glassey.com 216.200.93.8 Abovenet, Virginia
nist1-ny.glassey.com 208.184.49.9 Abovenet, New York City
nist1-sj.glassey.com 207.126.98.204 Abovenet, San Jose, California
nist1.aol-ca.truetime.com 207.200.81.113 TrueTime, AOL facility, Sunnyvale, California
nist1.aol-va.truetime.com 64.236.96.53 TrueTime, AOL facility, Virginia
————————————————————————————————————
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大學(xué)網(wǎng)絡(luò)中心NTP服務(wù)器地址)
s1a.time.edu.cn 北京郵電大學(xué)
s1b.time.edu.cn 清華大學(xué)
s1c.time.edu.cn 北京大學(xué)
s1d.time.edu.cn 東南大學(xué)
s1e.time.edu.cn 清華大學(xué)
s2a.time.edu.cn 清華大學(xué)
s2b.time.edu.cn 清華大學(xué)
s2c.time.edu.cn 北京郵電大學(xué)
s2d.time.edu.cn 西南地區(qū)網(wǎng)絡(luò)中心
s2e.time.edu.cn 西北地區(qū)網(wǎng)絡(luò)中心
s2f.time.edu.cn 東北地區(qū)網(wǎng)絡(luò)中心
s2g.time.edu.cn 華東南地區(qū)網(wǎng)絡(luò)中心
s2h.time.edu.cn 四川大學(xué)網(wǎng)絡(luò)管理中心
s2j.time.edu.cn 大連理工大學(xué)網(wǎng)絡(luò)中心
s2k.time.edu.cn CERNET桂林主節(jié)點(diǎn)
s2m.time.edu.cn 北京大學(xué)</pre>