NTP服務搭建
如果是單獨安裝這個服務,請直接開始即可。如果是爲了解決hadoop集羣的時針偏差問題,配置ntp服務時,務必先關閉chd的相關服務。
一、準備環境
1、操作系統
CentOS7操作系統,準備三臺,一臺作爲對外主節點,也就是授時節點(hadoop01),另外兩臺爲內部被授權節點(hadoop02、hadoop03)。
規劃圖:
2、IP規劃
主機名:IP
- hadoop01:192.168.75.71//授時節點
- hadoop02:192.168.75.72//被授時節點
- hadoop03:192.168.75.73//被授時節點
3、配置host和ip映射
配置主機ip映射的地方在/etc/hosts
vim /etc/hosts
192.168.75.71 hadoop01
192.168.75.72 hadoop02
192.168.75.73 hadoop03
填入上述信息,即可。
使用ping命令ping主機名,檢查是否能夠連通,能夠連通證明配置正確。
ping hadoop01
4、防火牆
主節點要麼關閉防火牆,要麼將ntp的使用端口允許訪問。
這裏只做簡單的關閉。
[root@hadoop1~]firewall-cmd --state #查看防火牆狀態
running
[root@hadoop1~]systemctl stop firewalld #停止防火牆的服務
[root@hadoop1~]systemctl disable firewalld #禁止開機啓動
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
二、安裝部署
1、下載安裝
CentOS7默認是沒有安裝ntp服務的,需要下載進行安裝,如果不確定,可以使用下列命令進行檢查:
rpm –qa | grep ntp
CentOS7中使用yum進行下載安裝,命令如下:
yum –y install ntp
三個節點都需要安裝操作。
安裝完成之後,再檢查,會出現如下兩個文件:
2、配置授時節點
以下配置均在hadoop01節點上操作。
1.設置時區
系統的時區一般在安裝的時候就已經設置好了,所以,一般都不用更改,在中國使用的是亞洲/上海(+8)時區。
2.更新時間
配置之前要先更新一下hadoop01的時間,保證保證這臺服務器的時間是正確的。以下演示兩種時間更新方法,一種是聯網的情況,一種是沒有聯網的情況。
1>聯網情況
聯網的情況下,可以使用ntp的命令,進行時間的更新,命令如下:
ntpdate cn.pool.ntp.org
2>沒有聯網情況
沒有聯網的情況只能使用系統的時間設置命令,對照一個相對準確的時間進行設置,設置命令如下:
date –s “2019-02-19 16:00:00”
3>寫入BIOS
當更新完時間之後,需要將系統當前時間寫入BIOS中,很簡單,只需要執行一個命令即可,命令如下:
hwclock -w
3.配置文件
NTP服務的配置文件存放在/etc目錄下,具體路徑爲:/etc/ntp.conf
首先將文件做一個備份,以防文件修改出現問題,命令如下:
cp /etc/ntp.conf /etc/ntp.back.conf
備份完成之後,修改配置文件操作如下:
vim /etc/ntp.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#將下面原有的四行註釋掉
#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
#聯網的情況添加以下所有內容
server 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
server 3.cn.pool.ntp.org iburst
#沒有聯網只需添加以下兩條即可
server 127.127.1.0
fudge 127.127.1.0 stratum 10
添加好之後保存退出。
4.啓動檢查
配置好之後,需要啓動ntp服務,ntp現在有兩套命令都可以使用,
第一套命令如下:
service ntpd start #啓動
service ntpd restart #重啓
service ntpd status #查看狀態
service ntpd stop #關閉
第二套命令如下:
systemctl start ntpd
systemctl restart ntpd
systemctl starus ntpd
systemctl stop ntpd
啓動完成之後還需要檢查一下服務是否可用,需要使用的命令如下:
ntpq –p
具體內容如下圖:
如上圖,可以看到offset和jitter都有對應的值,remote中帶星號(*)的爲ntp擋圈選中的授時服務點,LOCAL表示本機,所以可以看到當前選擇的授時服務點即爲本機。
如果是沒有聯網的配置只會顯示LOCAL這一項。
3、配置被授時節點
以下操作,在hadoop02和hadoop03兩個節點。
1.更新時間
將兩個hadoop02和hadoop03兩個節點上的時間更新爲hadoop01的時間,命令操作如下:
ntpdate hadoop01
####2.配置文件
被授時節點的配置文件和授時節點的配置文件存放在同一個位置。
打開配置文件:
vim /etc/ntp.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#將以下四行註釋掉
#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
#添加如下一行配置
server hadoop01 iburst
添加完成之後保存退出。切記hadoop02和hadoop03都要配置。
3.啓動檢查
在hadoop02和hadoop03節點上輸入以下命令,進行啓動:
service ntpd start
檢查使用命令:
ntpq -p
上圖可以看到,剛啓動的時候offset和jitter都是0,等待一會,就可以看到兩項下面就都有值了,並且remote中也有了星號(*)選擇。