在启动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