在啟動HBase機群的時候,發現了一個錯誤,因為機群時間不同步導致,所以要同步集群時間。
Linux的時間分為System Clock(系統時間)和Real Time Clock (硬件時間,簡稱RTC)。
系統時間:指當前Linux Kernel中的時間。
硬件時間:主板上有電池供電的時間。
查看系統時間的命令: date
設置系統時間的命令: date –s(月/日/年 時:分:秒),例如
sudo date -s "2015-07-29 08:50:35"
查看硬件時間的命令: # hwclock
設置硬件時間的命令: # hwclock –set –date = (月/日/年 時:分:秒)
上述提到的是手動設置時間到一個時間點,可能與當前網絡的時間有誤差。
下面介紹一下與時間服務器上的時間同步的方法
1. 安裝ntpdate工具
sudo apt-get install ntpdate
2. 設置系統時間與網絡時間同步
sudo ntpdate cn.pool.ntp.org
3. 將系統時間寫入硬件時間
sudo hwclock --systohc
4. 常見問題
4.1 更新時間的時候出現:ntpdate[23051]: the NTP socket is in use, exiting
這是因為ntp進程已經啟動,那么需要將他關掉,首先查看哪個進程使用ntp
ps aux | grep ntp
執行命令后,會看到如下
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
ntp 1928 0.0 0.0 31512 4356 ? Ss 08:15 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 117:126
找到對應的進程PID,kill,然后在同步時間
參考:
http://www.2cto.com/os/201212/174953.html
http://blog.csdn.net/congqingbin/article/details/7676704