大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

hadoop集群时间同步

同步方式

选择一个机器,作为时间服务器(这里选择hadoop01),所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。

所需工具

时间同步服务器有两个:ntpd和ntpdatp,虽然使用二者都能达到时间同步的目的,但是使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。ntpd不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。

操作步骤

1.时间服务器配置

(1)检查ntp是否安装

[root@hadoop01 Desktop]# rpm -qa|grep ntp

如果显示

ntp-4.2.6p5-1.el6.centos.x86_64

fontpackages-filesystem-1.41-1.1.el6.noarch

ntpdate-4.2.6p5-1.el6.centos.x86_64

证明ntp已经安装,否则要先安装ntp服务

[root@hadoop01 Desktop]#yum install -y ntp

(2)修改ntp配置文件

[root@hadoop01 Desktop]# vi /etc/ntp.conf

1. 配置客户端的授权,也就是给指定的机器(客户端)设置访问NTP Server的权限,这是通过restrict配置项实现的

将#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:

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

(3)修改/etc/sysconfig/ntpd 文件

[root@hadoop01 Desktop]# vim /etc/sysconfig/ntpd

增加

SYNC_HWCLOCK=yes

(4)重启ntpd

[root@hadoop01 Desktop]# service ntpd restart

(5)设置ntpd开机默认启动

[root@hadoop01 Desktop]# chkconfig mtpd on

完成以上操作以后,使用date命令查看系统时间与当前时间是否对应,如果还不对应,应该是时区的问题

(6)修改时区

[root@hadoop01 Desktop]# tzselect

根据提示选择正确的时区,然后将cp /usr/share/zoneinfo/Asia/Shanghai设置为到/etc/localtime的链接

[root@hadoop01 Desktop]#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.其他机器配置

(1)配置每十分钟与时间服务器同步一次

需要在集群中其他的机器中都编写时间同步脚本,这里以hadoop02为例

[root@hadoop02 Desktop]# crontab -e

*/10 * * * * /usr/sbin/ntpdate hadoop01

重启crond服务

[root@hadoop02 Desktop]# service crond restart

如果需要,同样要修改时区,操作同1.(6)

(2)手动同步

[root@hadoop02 Desktop]# ntpdate hadoop01