集羣時間同步shell
時間同步的方式:找一個機器,做爲時間服務器,全部的機器與這臺集羣時間進行定時的同步,好比,每隔十分鐘,同步一次時間。vim
配置時間同步實操:centos
1.時間服務器配置(必須 root 用戶)bash
檢查 ntp 是否安裝服務器
[root@hadoop102 桌面]# rpm -qa|grep ntp網絡
ntp-4.2.6p5-10.el6.centos.x86_64socket
fontpackages-filesystem-1.41-1.1.el6.noarchoop
ntpdate-4.2.6p5-10.el6.centos.x86_64測試
修改 ntp 配置文件.net
[root@hadoop102 桌面]# vi /etc/ntp.conf
修改內容以下
修改 1
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 爲
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
修改 2
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.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
添加 3
server 127.127.1.0
fudge 127.127.1.0 stratum 10
修改/etc/sysconfig/ntpd 文件
[root@hadoop102 桌面]# vim /etc/sysconfig/ntpd
增長內容以下
SYNC_HWCLOCK=yes
從新啓動 ntpd
[root@hadoop102 桌面]# service ntpd status
ntpd 已停
[root@hadoop102 桌面]# service ntpd start
正在啓動 ntpd: [肯定]
執行:開機自啓
[root@hadoop102 桌面]# chkconfig ntpd on
其餘機器配置(必須 root 用戶)
在其餘機器配置 10 分鐘與時間服務器同步一次
[root@hadoop103 hadoop-2.7.2]# crontab -e
編寫腳本
*/10 * * * * /usr/sbin/ntpdate hadoop102
修改任意機器時間
[root@hadoop103 hadoop]# date -s "2017-9-11 11:11:11"
十分鐘後查看機器是否與時間服務器同步
[root@hadoop103 hadoop]# date
發現能夠同步
若是老大時間跟網絡不一致,下面的小弟時間所有都亂套了 下面再老大機器上同步網絡
同步時間須要用到
ntpdate time.nuri.net
可是上面的第一步配置 ntpd start 查看ntp的狀態
[root@hadoop02 bin]# service ntpd status
ntpd (pid 3030) is running...
正在運行中,若是ntpd正在運行中使用上面的時間同步命令會失敗
20 Sep 09:17:07 ntpdate[3076]: the NTP socket is in use, exiting
報錯,說ntp正在運行,可是他也不能關,若是關了,下面的小弟時間都同步不上老大了,怎麼辦呢
下一個shell腳本,先把ntp關了,更新同步時間的操做,而後再開啓就好了 本人命名syncTime.sh內容以下
#!/bin/bash
service ntpd stop
echo "中止 ntp. . . . . 。"
ntpdate time.nuri.net
service ntpd start
echo "開啓 ntp......"
把他加到定時任務裏面crontab -e,通過測試無效
*/1 * * * * /usr/local/bin/syncTime.sh 這個命令就是一分鐘更新如下網絡時間,看不懂的話能夠查詢crontab的相關資料
至於爲何無效,還不清楚,可是在定時器裏面寫以下代碼
*/1 * * * * echo "sdafsdf" >> /usr/local/bin/aa.sh
給aa.sh追加sdsas文本內容,1分鐘追加一次,這個有效。。。
真正解決辦法:編輯/etc/crontab 這個文件
最後一行添加定時任務 在這個文件執行文件須要添加root 指定是root用戶
測試,把虛擬機掛起或者關機3分鐘,而後開啓,會跟網絡時間差3分鐘,等待1分鐘,date查看時間 OK
這樣就配置完成了