同步集羣時間

首先確保集羣已經正常使用(搭建集羣完畢)

集羣時間同步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

這樣就配置完成了

相關文章
相關標籤/搜索