搭建時(shí)間服務(wù)器并配置集群自動(dòng)時(shí)鐘同步
一、搭建時(shí)間服務(wù)器
?? (一)為什么要搭建時(shí)間服務(wù)器
??????????因?yàn)镠adoop 對(duì)集群中各個(gè)機(jī)器的時(shí)間同步要求比較高, 要求各個(gè)機(jī)器的系統(tǒng)時(shí)間不能相差太多, 不然會(huì)造成很多問(wèn)題。比如,最常見(jiàn)的連接超時(shí)問(wèn)題。所以需要配置集群中各個(gè)機(jī)器和互聯(lián)網(wǎng)的時(shí)間服務(wù)器進(jìn)行時(shí)間同步, 但是在實(shí)際生產(chǎn)環(huán)境中, 集群中大部分服務(wù)器是不能連接外網(wǎng)的, 這時(shí)候可以在內(nèi)網(wǎng)搭建一個(gè)自己的時(shí)間服務(wù)器( NTP 服務(wù)器),然后讓集群的各個(gè)機(jī)器與這個(gè)時(shí)間服務(wù)器定時(shí)的進(jìn)行時(shí)間同步。
?? (二)如何搭建時(shí)間服務(wù)器
??????????以主機(jī)名為node01的機(jī)器為例。
?????????1、首先查看一下該機(jī)器的時(shí)間
?????????????輸入命令date即可。
?????????????從結(jié)果可以看到當(dāng)前時(shí)間為EST(東部標(biāo)準(zhǔn)時(shí)間,即紐約時(shí)間),我們處在中國(guó),所以可以把時(shí)間改為CST(中部標(biāo)準(zhǔn)時(shí)間,即上海時(shí)間)。
?????????2、如何修改時(shí)間標(biāo)準(zhǔn)?
?????????????只需要在所有節(jié)點(diǎn)執(zhí)行命令:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime即可。實(shí)際上就是把Shanghai時(shí)間的文件復(fù)制到localtime中。
????????????? 注意:上面操作在3個(gè)節(jié)點(diǎn)都要執(zhí)行,保證系統(tǒng)當(dāng)前時(shí)間標(biāo)準(zhǔn)為上海時(shí)間。
?????????????OK,接下來(lái)進(jìn)行時(shí)鐘同步的配置。
?????????3、配置 NTP 服務(wù)器
?????????????我們選擇第一臺(tái)機(jī)器(node01)為 NTP 服務(wù)器,其他機(jī)器和這臺(tái)機(jī)器進(jìn)行定時(shí)的時(shí)間同步。
???????????(1) 檢查 NTP 服務(wù)是否已經(jīng)安裝
?????????????輸入命令:rpm -qa | grep ntp即可。
?????????????如果沒(méi)有安裝就輸入命令yum install -y ntp進(jìn)行安裝。
?????????????實(shí)際上就是安裝兩個(gè)軟件,其中 ntpdate-4.2.6p5-1.el6.centos.x86_64 是用來(lái)和某臺(tái)服務(wù)器進(jìn)行同步的
?????????????ntp-4.2.6p5-1.el6.centos.x86_64 是用來(lái)提供時(shí)間同步服務(wù)的。
???????????(2)修改配置文件 ntp.conf
?????????????輸入命令:vi /etc/ntp.conf,然后進(jìn)行如下修改:
?????????????1) 啟用 restrict,限定該機(jī)器網(wǎng)段 ,具體操作如下:
?????????????將restrict 192.168.74.136 mask 255.255.255.0 nomodify notrap行的注釋去掉,并且將網(wǎng)段改為自己本機(jī)的網(wǎng)段,我們這里是 74 網(wǎng)段。當(dāng)然也可以直接輸入本機(jī)的IP地址。
?????????????2) 注釋掉 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
?????????????以上4個(gè)server是時(shí)間服務(wù)器的域名,這里不需要連接互聯(lián)網(wǎng),所以將他們注釋掉。
?????????????3) 在該文件中添加下邊兩行,讓本機(jī)和本地硬件時(shí)間同步。
?????????????server 127.127.1.0
?????????????fudge 127.127.1.0 stratum 10
?????????????默認(rèn)的配置文件里這兩個(gè)是被注釋掉的。NTP服務(wù)器會(huì)根據(jù)這里的配置,把自己的時(shí)間作為NTP服務(wù)器的時(shí)間,即和自己同步??紤]到有的局域網(wǎng)里不可以訪問(wèn)外網(wǎng),所有這里需要配置該配置項(xiàng)。
???????????(3) 啟動(dòng)NTP服務(wù)
?????????????輸入命令chkconfig ntpd on即可
?????????????這樣每次機(jī)器啟動(dòng)時(shí),NTP服務(wù)都會(huì)自動(dòng)啟動(dòng)。
?????????4、配置其他機(jī)器的定時(shí)時(shí)間同步
?????????????實(shí)際上配置其他機(jī)器的時(shí)間服務(wù)器時(shí)鐘同步并不難,只需要在對(duì)應(yīng)機(jī)器輸入命令:crontab -e即可,然后在會(huì)話(huà)中輸入0-59/10 * * * * /usr/sbin/ntpdate node01
?????????????下面對(duì)這行內(nèi)容的含義進(jìn)行簡(jiǎn)要的解釋?zhuān)?/p>
?????????????(1)其中0-59/10 * * * * 表示每隔10分鐘進(jìn)行一次時(shí)鐘同步,空格隔開(kāi)的五段是crontab語(yǔ)法格式中時(shí)間段,一共5段,其中*號(hào)表示任意時(shí)間,每一段時(shí)間的具體含義如下:

? ? ? ? ? ? ?(2)其中/usr/sbin/ntpdate node01表示執(zhí)行的命令,即本機(jī)和主機(jī)名為node01的機(jī)器進(jìn)行定時(shí)的時(shí)鐘同步。
?????????????(3)在其他節(jié)點(diǎn)進(jìn)行同樣的操作,然后過(guò)10分鐘之后再次查看3臺(tái)機(jī)器的時(shí)間,如果3臺(tái)機(jī)器的時(shí)間一致就表示實(shí)現(xiàn)了時(shí)間的定時(shí)同步。