思路:
找一台主机作为时间主机,所有的其他主机定时与这台主机进行时间的同步。如,每隔10分钟,同步一次时间。
一、配置时间服务器
此处选择选择一台主机为时间服务器,例如hadoop-series.bxp.com,现在对hadoop-series.bxp.com时间服务器进行如下配置。
1、安装ntp服务
(1)查看ntp服务是否安装:
rpm -qa | grep ntp
(2)没有安装,则安装ntp
yum -y install ntp /*yum安装NTP服务*/
chkconfig --add ntpd /*添加NTP*/
chkconfig ntpd on /*开机自启动NTP*/
2、修改/etc/ntp.conf 配置文件
(1)打开配置文件
sudo vi /etc/ntp.conf
(2)修改下面几行配置,结果如下
#打开此行配置的注释,修改192.168.1.0为你自己集群所在的网段
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#注释这几行配置,这几行配置默认是从网络同步时间
#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 127.127.1.0
fudge 127.127.1.0 stratum 10
3、修改/etc/sysconfig/ntpd配置文件
(1)进入配置文件
sudo vi /etc/sysconfig/ntpd
(2)在文件中添加一行内容如下
SYNC_HWCLOCK=yes
4、启动ntp服务
(1)查看ntp服务状态
service ntpd status
(2)启动ntp服务
service ntpd start /*启动*/
service ntpd restart /*重启*/
chkconfig ntpd on /* 开机启动 */
二、设置其他主机与时间服务器时间的同步
1、在其余节点编写执行脚本
(1)创建一个新的crontab文件
sudo crontab -e /*此处需要root用户执行*/
(2)文加中编写内容如下
#表示每10分钟执行一次/usr/sbin/ntpdate hadoop-series.bxp.com命令
#hadoop-series.bxp.com为之前配置的时间服务器
0-59/10 * * * * /usr/sbin/ntpdate hadoop-series.bxp.com
2、也可以手动执行如下命令进行时间的同步
/usr/sbin/ntpdate hadoop-series.bxp.com
刚开始执行可能会报错:no server suitable for synchronization found。这种错误很正常,因为服务启动后需要经过10分钟之后才能进行同步。