【NTP】NTP(Network Time Protocol)配置詳解

設(shè)置NTP服務(wù)器不難,但是NTP本身是一個很復(fù)雜的協(xié)議. 這里我們只是簡要地介紹一下實(shí)踐方法。

1. 時間和時區(qū)

如果有人問你說現(xiàn)在幾點(diǎn)? 你看了看表回答他說晚上8點(diǎn)了. 這樣回答看上去沒有什么問題,但是如果問你的這個人在歐洲的話那么你的回答就會讓他很疑惑,因?yàn)樗抢镞€太陽當(dāng)空呢。

這里就有產(chǎn)生了一個如何定義時間的問題. 因?yàn)樵诘厍颦h(huán)繞太陽旋轉(zhuǎn)的24個小時中,世界各地日出日落的時間是不一樣的.所以我們才有劃分時區(qū)(timezone) 的必要,也就是把全球劃分成24個不同的時區(qū). 所以我們可以把時間的定義理解為一個時間的值加上所在地的時區(qū)(注意這個所在地可以精確到城市)。

地理課上我們都學(xué)過格林威治時間(GMT), 它也就是0時區(qū)時間. 但是我們在計算機(jī)中經(jīng)??吹降氖荱TC. 它是Coordinated Universal Time的簡寫. 雖然可以認(rèn)為UTC和GMT的值相等(誤差相當(dāng)之小),但是UTC已經(jīng)被認(rèn)定為是國際標(biāo)準(zhǔn),所以我們都應(yīng)該遵守標(biāo)準(zhǔn)只使用UTC。

那么假如現(xiàn)在中國當(dāng)?shù)氐臅r間是晚上8點(diǎn)的話,我們可以有下面兩種表示方式:

20:00 CST

12:00 UTC

這里的CST是Chinese Standard Time,也就是我們通常所說的北京時間了. 因?yàn)橹袊幵赨TC+8時區(qū),依次類推那么也就是12:00 UTC了。

為什么要說這些呢?

第一,不管通過任何渠道我們想要同步系統(tǒng)的時間,通常提供方只會給出UTC+0的時間值而不會提供時區(qū)(因?yàn)樗恢滥阍谀睦?.所以當(dāng)我們設(shè)置系統(tǒng)時間的時候,設(shè)置好時區(qū)是首先要做的工作。

第二,很多國家都有夏令時,那就是在一年當(dāng)中的某一天時鐘撥快一小時(比如從UTC+8一下變成UTC+9了),那么同理到時候還要再撥慢回來.如果我們設(shè)置了正確的時區(qū),當(dāng)需要改變時間的時候系統(tǒng)就會自動替我們調(diào)整。


現(xiàn)在我們就來看一下如何在Linux下設(shè)置時區(qū),也就是time zone


2. 如何設(shè)置Linux Time Zone

在Linux下glibc提供了我們事先編譯好的許多timezone文件, 他們就放在/usr/share/zoneinfo這個目錄下,這里基本涵蓋了大部分的國家和城市

?# ls -F /usr/share/zoneinfo

在這里面我們就可以找到自己所在城市的time zone文件. 那么如果我們想查看對于每個time zone當(dāng)前的時間我們可以用zdump命令

# zdump ?Shanghai

Shanghai ?Mon Apr 23 17:54:12 2018 Shanghai

那么我們又怎么來告訴系統(tǒng)我們所在time zone是哪個呢??

方法有很多,這里舉出兩種:

第一個就是修改/etc/localtime這個文件,這個文件定義了我么所在的local time zone.

我們可以在/usr/share/zoneinfo下找到我們的time zone文件然后軟鏈接去到/etc/localtimezone

# ?ln ?-sf /usr/share/zoneinfo/Asia/Shanghai ? ? ?/etc/localtime

第二種方法也就設(shè)置TZ環(huán)境變量的值. 許多程序和命令都會用到這個變量的值. TZ的值可以有多種格式,最簡單的設(shè)置方法就是使用tzselect命令

# ?tzselect?

# TZ='Asia/Shanghai'; export TZ

You can make this change permanent for yourself by appending the line

TZ='Asia/Shanghai'; export TZ

to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you

can use the /usr/bin/tzselect command in shell scripts:

Asia/Shanghai

通過這兩個例子我們也可以發(fā)現(xiàn)TZ變量的值會override /etc/localtime. 也就是說當(dāng)TZ變量沒有定義的時候系統(tǒng)才使用/etc/localtime來確定time zone. 所以你想永久修改time zone的話那么可以把TZ變量的設(shè)置寫入/etc/profile里!


3. Real Time Clock(RTC) and System Clock

說道設(shè)置時間這里還要明確另外一個概念就是在一臺計算機(jī)上我們有兩個時鐘:

一個稱之為硬件時間時鐘(RTC),還有一個稱之為系統(tǒng)時鐘(System Clock)

硬件時鐘是指嵌在主板上的特殊的電路, 它的存在就是平時我們關(guān)機(jī)之后還可以計算時間的原因

系統(tǒng)時鐘就是操作系統(tǒng)的kernel所用來計算時間的時鐘. 它從1970年1月1日00:00:00 UTC時間到目前為止秒數(shù)總和的值

在Linux下系統(tǒng)時間在開機(jī)的時候會和硬件時間同步(synchronization),之后也就各自獨(dú)立運(yùn)行了

那么既然兩個時鐘獨(dú)自運(yùn)行,那么時間久了必然就會產(chǎn)生誤差了,下面我們來看一個例子:

# date

Fri Jul? 6 00:27:13 BST 2007

# hwclock --show

Fri 06 Jul 2007 12:27:17 AM BST? -0.968931 seconds

通過hwclock --show 命令我們可以查看機(jī)器上的硬件時間(always in local time zone), 我們可以看到它和系統(tǒng)時間還是有一定的誤差的, 那么我們就需要把他們同步。


如果我們想要把硬件時間設(shè)置成系統(tǒng)時間我們可以運(yùn)行以下命令

# hwclock --hctosys

反之,我們也可以把系統(tǒng)時間設(shè)置成硬件時間

# hwclock --systohc

那么如果想設(shè)置硬件時間我們可以開機(jī)的時候在BIOS里設(shè)定.也可以用hwclock命令

# hwclock --set --date="mm/dd/yy hh:mm:ss"

如果想要修改系統(tǒng)時間那么用date命令就最簡單了

# date -s "dd/mm/yyyy hh:mm:ss"??


現(xiàn)在我們知道了如何設(shè)置系統(tǒng)和硬件的時間. 但問題是如果這兩個時間都不準(zhǔn)確了怎么辦??

那么我們就需要在互聯(lián)網(wǎng)上找到一個可以提供我們準(zhǔn)確時間的服務(wù)器然后通過一種協(xié)議來同步我們的系統(tǒng)時間,那么這個協(xié)議就是NTP了. 注意接下去我們所要說的同步就都是指系統(tǒng)時間和網(wǎng)絡(luò)服務(wù)器之間的同步了!


4. 設(shè)置NTP Server前的準(zhǔn)備

其實(shí)這個標(biāo)題應(yīng)該改為設(shè)置"NTP Relay Server"前的準(zhǔn)備更加合適. 因?yàn)椴徽撐覀兊挠嬎銠C(jī)配置多好運(yùn)行時間久了都會產(chǎn)生誤差,所以不足以給互聯(lián)網(wǎng)上的其他服務(wù)器做NTP Server. 真正能夠精確地測算時間的還是原子鐘. 但由于原子鐘十分的昂貴,只有少部分組織擁有, 他們連接到計算機(jī)之后就成了一臺真正的NTP Server. 而我們所要做的就是連接到這些服務(wù)器上同步我們系統(tǒng)的時間,然后把我們自己的服務(wù)器做成NTP Relay Server再給互聯(lián)網(wǎng)或者是局域網(wǎng)內(nèi)的用戶提供同步服務(wù)。

# ?yum -y install ntp

那么第一步我們就要找到在互聯(lián)網(wǎng)上給我們提供同步服務(wù)的NTP Server

http://www.pool.ntp.org是NTP的官方網(wǎng)站,在這上面我們可以找到離我們城市最近的NTP Server.?

NTP建議我們?yōu)榱吮U蠒r間的準(zhǔn)確性,最少找兩個個NTP Server

那么比如在英國的話就可以選擇下面兩個服務(wù)器

0.uk.pool.ntp.org

1.uk.pool.ntp.org

它的一般格式都是 number.country.pool.ntp.org

第二步要做的就是在打開NTP服務(wù)器之前先和這些服務(wù)器做一個同步,使得我們機(jī)器的時間盡量接近標(biāo)準(zhǔn)時間.

這里我們可以用ntpdate命令手動更新時間

# ntpdate 0.uk.pool.ntp.org

6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec

# ntpdate 0.pool.ntp.org

6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec

假如你的時間差的很離譜的話第一次會看到調(diào)整的幅度比較大,所以保險起見可以運(yùn)行兩次.?那么為什么在打開NTP服務(wù)之前先要手動運(yùn)行同步呢?

1. 因?yàn)楦鶕?jù)NTP的設(shè)置,如果你的系統(tǒng)時間比正確時間要快的話那么NTP是不會幫你調(diào)整的,所以要么你把時間設(shè)置回去,要么先做一個手動同步

2. 當(dāng)你的時間設(shè)置和NTP服務(wù)器的時間相差很大的時候,NTP會花上較長一段時間進(jìn)行調(diào)整.所以手動同步可以減少這段時間


5. 配置和運(yùn)行NTP Server


現(xiàn)在我們就來創(chuàng)建NTP的配置文件了, 它就是/etc/ntp.conf. 我們只需要加入上面的NTP Server和一個driftfile就可以了

# vi /etc/ntp.conf

#############################

server 210.72.145.44???? #中國國家授時中心的IP

server 0.uk.pool.ntp.org

server 1.uk.pool.ntp.org

fudge?127.127.1.0 stratum 0?

這行是時間服務(wù)器的層次。設(shè)為0則為頂級,如果要向別的NTP服務(wù)器更新時間,請不要把它設(shè)為0

driftfile /var/lib/ntp/ntp.drift?

##############################

我們就啟動NTP Server,并且設(shè)置其在開機(jī)后自動運(yùn)行

#?systemctl ?start ?ntpd

#?systemctl ?enable? ntpd


6. 查看NTP服務(wù)的運(yùn)行狀況


現(xiàn)在我們已經(jīng)啟動了NTP的服務(wù),但是我們的系統(tǒng)時間到底和服務(wù)器同步了沒有呢??

為此NTP提供了一個很好的查看工具: ntpq (NTP query)

我建議大家在打開NTP服務(wù)器后就可以運(yùn)行ntpq命令來監(jiān)測服務(wù)器的運(yùn)行.

這里我們可以使用watch命令來查看一段時間內(nèi)服務(wù)器各項(xiàng)數(shù)值的變化

# watch ntpq -p

Every 2.0s: ntpq -p????????????????????????????????? Sat Jul? 7 00:41:45 2007

remote?????????? refid????? st t when poll reach?? delay?? offset? jitter

===========================================================

+193.60.199.75?? 193.62.22.98???? 2 u?? 52?? 64? 377??? 8.578?? 10.203 289.032

*mozart.musicbox 192.5.41.41????? 2 u?? 54?? 64? 377?? 19.301? -60.218 292.411


現(xiàn)在我就來解釋一下其中的含義

remote: 它指的就是本地機(jī)器所連接的遠(yuǎn)程N(yùn)TP服務(wù)器

refid: 它指的是給遠(yuǎn)程服務(wù)器(e.g. 193.60.199.75)提供時間同步的服務(wù)器

st: 遠(yuǎn)程服務(wù)器的層級別(stratum). 由于NTP是層型結(jié)構(gòu),有頂端的服務(wù)器,多層的Relay Server再到客戶端. 所以服務(wù)器從高到低級別可以設(shè)定為1-16. 為了減緩負(fù)荷和網(wǎng)絡(luò)堵塞,原則上應(yīng)該避免直接連接到級別為1的服務(wù)器的.

when: 我個人把它理解為一個計時器用來告訴我們還有多久本地機(jī)器就需要和遠(yuǎn)程服務(wù)器進(jìn)行一次時間同步

poll: 本地機(jī)和遠(yuǎn)程服務(wù)器多少時間進(jìn)行一次同步(單位為秒). 在一開始運(yùn)行NTP的時候這個poll值會比較小,那樣和服務(wù)器同步的頻率也就增加了,可以盡快調(diào)整到正確的時間范圍.之后poll值會逐漸增大,同步的頻率也就會相應(yīng)減小

reach: 這是一個八進(jìn)制值,用來測試能否和服務(wù)器連接.每成功連接一次它的值就會增加

delay: 從本地機(jī)發(fā)送同步要求到服務(wù)器的round trip time

offset: 這是個最關(guān)鍵的值, 它告訴了我們本地機(jī)和服務(wù)器之間的時間差別. offset越接近于0,我們就和服務(wù)器的時間越接近

jitter: 這是一個用來做統(tǒng)計的值. 它統(tǒng)計了在特定個連續(xù)的連接數(shù)里offset的分布情況. 簡單地說這個數(shù)值的絕對值越小我們和服務(wù)器的時間就越精確

那么大家細(xì)心的話就會發(fā)現(xiàn)兩個問題: 第一我們連接的是0.uk.pool.ntp.org為什么和remote server不一樣? 第二那個最前面的+和*都是什么意思呢?

第一個問題不難理解,因?yàn)镹TP提供給我們的是一個cluster server所以每次連接的得到的服務(wù)器都有可能是不一樣.

同樣這也告訴我們了在指定NTP Server的時候應(yīng)該使用hostname而不是IP

第二個問題和第一個相關(guān),既然有這么多的服務(wù)器就是為了在發(fā)生問題的時候其他的服務(wù)器還可以正常地給我們提供服務(wù).那么如何知道這些服務(wù)器的狀態(tài)呢? 這就是第一個記號會告訴我們的信息

* 它告訴我們遠(yuǎn)端的服務(wù)器已經(jīng)被確認(rèn)為我們的主NTP Server,我們系統(tǒng)的時間將由這臺機(jī)器所提供

+ 它將作為輔助的NTP Server和帶有*號的服務(wù)器一起為我們提供同步服務(wù). 當(dāng)*號服務(wù)器不可用時它就可以接管

- 遠(yuǎn)程服務(wù)器被 clustering algorithm ?認(rèn)為是不合格的NTP Server

x 遠(yuǎn)程服務(wù)器不可用

了解這些之后我們就可以實(shí)時監(jiān)測我們系統(tǒng)的時間同步狀況了!


7. NTP安全設(shè)置


運(yùn)行一個NTP Server不需要占用很多的系統(tǒng)資源,所以也不用專門配置獨(dú)立的服務(wù)器,就可以給許多client提供時間同步服務(wù), 但是一些基本的安全設(shè)置還是很有必要的

那么這里一個很簡單的思路就是第一我們只允許局域網(wǎng)內(nèi)一部分的用戶連接到我們的服務(wù)器. 第二個就是這些client不能修改我們服務(wù)器上的時間


關(guān)于權(quán)限設(shè)定部分

權(quán)限的設(shè)定主要以 restrict 這個參數(shù)來設(shè)定,主要的語法為:

restrict IP地址 mask 子網(wǎng)掩碼 參數(shù)

其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP

參數(shù)有以下幾個:

ignore?。宏P(guān)閉所有的 NTP 聯(lián)機(jī)服務(wù)

nomodify:客戶端不能更改服務(wù)端的時間參數(shù),但是客戶端可以通過服務(wù)端進(jìn)行網(wǎng)絡(luò)校時。

notrust :客戶端除非通過認(rèn)證,否則該客戶端來源將被視為不信任子網(wǎng)

noquery :不提供客戶端的時間查詢

注意:如果參數(shù)沒有設(shè)定,那就表示該 IP (或子網(wǎng))沒有任何限制!

在/etc/ntp.conf文件中我們可以用restrict關(guān)鍵字來配置上面的要求

首先我們對于默認(rèn)的client拒絕所有的操作

restrict default kod nomodify notrap nopeer noquery

然后允許本機(jī)地址一切的操作

restrict 127.0.0.1

最后我們允許局域網(wǎng)內(nèi)所有client連接到這臺服務(wù)器同步時間.但是拒絕讓他們修改服務(wù)器上的時間

restrict 192.168.1.0 mask 255.255.255.0 nomodify

把這三條加入到/etc/ntp.conf中就完成了我們的簡單配置. NTP還可以用key來做authentication,這里就不詳細(xì)介紹了。


8. NTP client的設(shè)置

做到這里我們已經(jīng)有了一臺自己的Relay Server.如果我們想讓局域網(wǎng)內(nèi)的其他client都進(jìn)行時間同步的話那么我們就都應(yīng)該照樣再搭建一臺Relay Server,然后把所有的client都指向這兩臺服務(wù)器(注意不要把所有的client都指向Internet上的服務(wù)器). 只要在client的/etc/ntp.conf加上這你自己的服務(wù)器就可以了。

server ntp1.leonard.com

server ntp2.leonard.com


9. 補(bǔ)充和拾遺


1. 配置文件中的driftfile是什么?

我們每一個system clock的頻率都有小小的誤差,這個就是為什么機(jī)器運(yùn)行一段時間后會不精確. NTP會自動來監(jiān)測我們時鐘的誤差值并予以調(diào)整.但問題是這是一個冗長的過程,所以它會把記錄下來的誤差先寫入driftfile.這樣即使你重新開機(jī)以后之前的計算結(jié)果也就不會丟失了。


2. 如何同步硬件時鐘?

NTP一般只會同步system clock. 但是如果我們也要同步RTC(hwclock)的話那么只需要把下面的選項(xiàng)打開就可以了

# vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes


3、利用crontab讓LINUX NTP定時更新時間

注:讓linux運(yùn)行ntpdate更新時間時,linux不能開啟NTP服務(wù),否則會提示端口被占用:

# ntpdate 1.rhel.pool.ntp.org

20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting

crontab文件配置簡要說明

命令格式的前一部分是對時間的設(shè)定,后面一部分是要執(zhí)行的命令。時間的設(shè)定我們有一定的約定,前面五個*號代表五個數(shù)字,數(shù)字的取值范圍和含義如下:

分鐘 (0-59)

小時 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-6)//0代表星期天

除了數(shù)字還有幾個個特殊的符號就是“*”、“/”和“-”、“,”,“*”代表所有的取值范圍內(nèi)的數(shù)字,“/”代表每的意思,“*/5”表示每5個單位,“-”代表從某個數(shù)字到某個數(shù)字,“,”分開幾個離散的數(shù)字。

以下舉幾個例子說明問題:

每天早上6點(diǎn):

0 6 * * *? command

每兩個小時:

0 */2 * * *? command

晚上11點(diǎn)到早上8點(diǎn)之間每兩個小時,早上八點(diǎn):

0 23-7/2,8 * * * command

每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點(diǎn):

0 11 4 * 1-3 command

1月1日早上4點(diǎn):

0 4 1 1 * command


3.3、設(shè)置開機(jī)自動啟動服務(wù)

運(yùn)行setup或其它服務(wù)設(shè)置工具,將crond服務(wù)勾選上

#?systemctl ?enable crond.service


10.NTP客戶端的設(shè)置


一、LINUX做為客戶端自動同步時間

如果想定時進(jìn)行時間校準(zhǔn),可以使用crond服務(wù)來定時執(zhí)行。

編輯 /etc/crontab 文件

加入下面一行:

30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w?

#192.168.0.1是NTP服務(wù)器的IP地址

然后重啟crond服務(wù) ? service crond restart

這樣,每天 8:30 Linux 系統(tǒng)就會自動的進(jìn)行網(wǎng)絡(luò)時間校準(zhǔn)。


二、WINDOWS 需要打開windows time服務(wù)和RPC的二個服務(wù)

如果在打開windows time 服務(wù),時報 錯誤1058,進(jìn)行下面操作

1.運(yùn)行 cmd 進(jìn)入命令行,然后鍵入

w32tm /register? 進(jìn)行注冊

正確的響應(yīng)為:W32Time 成功注冊。

2.如果上一步正確,用 net start "windows time" 或 net start w32time 啟動服務(wù)。


11.其它造成無法成功更新的原因


1、客戶端的日期必須要設(shè)置正確,不能超出正常時間24小時,不然會因?yàn)榘踩虮痪芙^更新。其次客戶端的時區(qū)必須要設(shè)置好,以確保不會更新成其它時區(qū)的時間。

2、fudge?127.127.1.0 stratum 10?

如果是LINUX做為NTP服務(wù)器,stratum(層級)的值不能太大,如果要向上級NTP更新可以設(shè)成 2

3、LINUX的NTP服務(wù)器必須記得將從上級NTP更新的時間從系統(tǒng)時間寫到硬件里去 hwclock --systohc

NTP一般只會同步system clock. 但是如果我們也要同步RTC(hwclock)的話那么只需要把下面的選項(xiàng)打開就可以了

# vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

4、Linux如果開啟了NTP服務(wù),則不能手動運(yùn)行ntpdate更新時間(會報端口被占用),它只能根據(jù)/etc/ntp.conf 里server 字段后的服務(wù)器地址按一定時間間隔自動向上級NTP服務(wù)器更新時間。可以運(yùn)行命令 ntpstat 查看每次更新間隔如:

# ntpstat

synchronised to NTP server (210.72.145.44) at stratum 2


#本NTP服務(wù)器層次為2,已向210.72.145.44 NTP同步過

time correct to within 93 ms??????????????????????????????????????????????

#時間校正到相差93ms之內(nèi)?polling server every 1024 s???

#每1024秒會向上級NTP輪詢更新一次時間?


12.層的概念

這些問題主要涉及到NTP的層(stratum)的概念,頂層是1,值為0時表示層數(shù)不明,層的值是累加的,比如NTP授時方向是A-〉B-〉C,假設(shè)A的stratum值是3,那么B從A獲取到時間,B的stratum置為4,C從B獲取到時間,C的值被置為5。一般只有整個NTP系統(tǒng)最頂層的服務(wù)器stratum才設(shè)為1。

NTP同步的方向是從stratum值較小的節(jié)點(diǎn)向較大的節(jié)點(diǎn)傳播,如果某個NTP客戶端接收到stratum比自己還要大,那么NTP客戶端認(rèn)為自己的時間比接受到的時間更為精確,不會進(jìn)行時間的更新。

對于大部分NTP軟件系統(tǒng)來說,服務(wù)啟動后,stratum值初始是0,一旦NTP服務(wù)獲取到了時間,NTP層次就設(shè)置為上級服務(wù)器stratum+1。對于具備衛(wèi)星時鐘、原子鐘的專業(yè)NTP設(shè)備,一般stratum值初始是1。

NTPD啟動后,stratum值初始是0,此時NTPD接收到NTP請求,回復(fù)stratum字段為0的NTP包,客戶端接收后,發(fā)現(xiàn)stratum字段無效,拒絕更新時間,造成時間更新失敗。


幾分鐘后,NTPD從上級服務(wù)器獲取到了更新,設(shè)置了正確的stratum,回復(fù)stratum字段為n+1的NTP包,客戶端接收后,確認(rèn)stratum有效,成功進(jìn)行時間更新。


在NTPD上級服務(wù)器不可用的情況下,NTPD將本機(jī)時鐘服務(wù)模擬為一個上級NTP服務(wù)器,地址使用環(huán)回127.127.1.0,服務(wù)啟動幾分鐘后,NTPD從127.127.1.0更新了時鐘,設(shè)置了有效的stratum,客戶端接收后,成功進(jìn)行時間更新。


對應(yīng)的/etc/ntp.conf配置項(xiàng)如下:

server 127.127.1.0

fudge? 127.127.1.0 stratum ?1

# NTPD把本地主機(jī)的時鐘也看作外部時鐘源來處理,分配的地址是127.127.1.0

# 設(shè)置本地時鐘源的層次為1,這樣如果NTPD服務(wù)從本地時鐘源獲取時間的話,NTPD對外宣布的時間層次為2。


參考

https://blog.csdn.net/iloli/article/details/6431757

http://blog.163.com/little_yang@126/blog/static/2317559620091019104019991/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 1 概述 linux服務(wù)器在提供服務(wù)時,要和其他機(jī)器進(jìn)行請求的交互,實(shí)際生產(chǎn)環(huán)境中,可能因?yàn)闀r間不同步,導(dǎo)致了服務(wù)...
    ghbsunny閱讀 1,476評論 0 1
  • 本文章僅作為個人筆記 CDH官網(wǎng)地址:https://www.cloudera.com/ CDH鏡像地址: c...
    草叢里的黃蓋閱讀 2,219評論 2 2
  • 為了避免Linux系統(tǒng)的主機(jī),在長時間運(yùn)行下所導(dǎo)致的時間偏差。因此我們需要對時間進(jìn)行時間同步(synchroniz...
    whiffet閱讀 29,209評論 0 3
  • 月落烏啼月牙落孤井 夢裡有花夢裡青草地 河童撐桿擺長舟渡古稀 蹉跎輾轉(zhuǎn)的你在哪裡
    西海岸許煙閱讀 380評論 0 0

友情鏈接更多精彩內(nèi)容