Linux时间服务器配置

Hadoop集群中,如果服务器之间时间相差过大,会导致Hbase节点启动失败或其他怪问题。官方文档说5分钟的时间差是可以接受的,但是测试发现,相差了1分多钟也会导致失败。所以,有必要搭建一个时间服务器,让每台服务器的时间保持一致。

时间服务器可以搭建在集群中的一台机器上,也可以搭建在其他机器上,我是搭建在集群中的机器上,接下来讨论时间服务器搭建过程。

1.安装时间服务器ntpd

sudo apt-get install ntp,如果已经安装请跳过此步.

如果此步出现无法安装ntp的现况,需要更新源,更新源之前需要将/var/lib/apt/lists文件夹中的文件全部删除,lists文件夹要保留:

sudo rm -r /var/lib/apt/lists/*

sudo apt-get update

update可能出现更新错误,有可能是由于http代理的原因,我就是代理的愿意造成的许多软件不能更新,可详见下面的链接设置代理:

ubuntu为apt-get设置http代理

然后进行ntp安装:

sudo apt-get install ntp

接下来就是服务器的配置

2.服务器端配置

本例,集群中的10.15.43.214是时间服务器,它接受集群中其他机器的同步请求,本身不需要主动和其他时间服务器进行同步,相关配置位于/etc/ntp.conf,直接修改这个文件,内容如下:
hadoop@master:~$ sudo gedit /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1 
restrict 110.15.43.214 mask 255.255.255.0 nomodify notrap
server  127.127.1.0
fudge   127.127.1.0 stratum 10
keys /etc/ntp/keys
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
启动服务:
hadoop@master:~$ sudo service ntp start
 * Starting NTP server ntpd                                              [ OK ]

检查服务器是否和自己完成同步:
hadoop@master:~$ watch ntpq -p


3.客户端配置

服务器启动3-5分钟后,客户端才能与之进行时间同步。下面以10.15.43.243(slave1,其中一台节点)为例,说明客户端的配置方法:

3.1 第一种同步办法hadoop@master:~$

第一种同步办法不需要在客户端开启ntpd服务。
如果需要立即同步,或者计划任务同步,可以采用这种办法:
立即手动同步:
hadoop@slave1:~$ ntpdate 10.15.43.214
如果要每天十点同步一次,可以把下列同步语句加入计划任务,

0 10 * * * ntpdate 10.15.43.214  >  /root/ntplog

3.2 第二种同步办法

在应用运行期间,如果修改时间,可能会引发一些未知问题,所以最好不要用第一种办法同步(除非需要立即让时间一致)。可以在客户端也启用一个时间服务器,让他渐进同步,这样客户端时间总是与服务器时间保持一致,配置步骤如下:

在客户端上,确认/etc/ntp.conf内容如下,
hadoop@slave1:~$ sudo gedit /etc/ntp.conf
driftfile /var/lib/ntp/drift
server 10.15.43.214
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
启用时间服务器进程:
hadoop@slave1:~$ sudo service ntp start

检查客户端和时间服务器的同步情况
hadoop@slave1:~$ sudo ntpq -p

剩余的节点都要进行此步操作,方可全部同步

---------------------------------------------------------------------------------------------------------------------------------
注意:在客户端上开启ntp服务后,就不能用ntpdate 10.15.43.214语句了

----------------------------------------------------------------------------------------------------------------------------------

4.设置成开机自动启动

配置完毕后,需要在服务器和客户端上把ntp服务设为开机启动,以服务器端master为例:
hadoop@master:~$ sudo sysv-rc-conf --level 35 ntp on

sysv-rc-conf这个需要安装一下,chkconfig不适用ubuntu

5.防火墙开放端口

端口只需要在服务器端开放即可。
在master的防火墙中加入如下语句,开放123端口:
sudo iptables -A INPUT -s 10.15.43.0/24 -p udp --dport 123 -j ACCEPT
重启防火墙:
service iptables restart(先要配置iptables.)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值