Hbase启动时无法启动HRegionServer进程
hbase 再插入数据时发现如下错误
检查发现:hbase启动时Hmaster节点能正常启动,但是集群中有一些子节点的HRegionServer无法正常启动,查找日志发现,集群时间不一致,误差超过了2分半钟,要保证时间同步,建议最好搭建ntp时间服务器,保证时间同步。搭建过程如下:
-
1.NTP时间同步方式选择
-
NTP同步方式在linux下一般有两种:使用ntpdate命令直接同步和使用ntpd服务平滑同步。ntpdate命令可以立即让时间更新到最佳状态,但是有一个缺陷,比如说现在我的服务器中规定每天6:00执行一项操作,现在我的时间是7:00,也就是已经执行过了,但是实际时间呢是5:00,我执行ntpdate直接把时间更新到5:00,那么当时间走到6:00的时候,操作又会再执行一次,这是很危险的。ntpd平滑同步呢正好解决了这个隐患,它不能立即更新时间,而是每隔一小段时间就往服务器发送一个请求,从服务器获取时间,一次更新一点慢慢的把时间调整过来。
2.安装配置(如不在root用户下,所有指令前面都加sudo)
- 查看是否安装:#rpm -q ntp
- 若没安装,则安装:#yum install ntp
- 配置ntp服务自启动:#chkconfig ntpd on
- 检查是否自启动:#chkconfig –list ntpd
-
3.配置内网ntp服务
- 为了保证集群时间一致,现将hbase的master的节点所在虚拟机设为时间服务器,其它子节点都与主节点时间保持一致。
- 如果主节点机器不连接外网,则设置如下:
- master节点配置如下:
- sudo vim /etc/ntp.conf
-
其它子节点配置如下:
sudo vim /etc/ntp.conf
上图中server 10.6.3.49 perfer 为master几点ip地址
-如果主节点所在虚拟机连接了外网,想要与外界时间保持一致,可这样配置主节点:
4.启动服务
主节点可直接启动,对于子节点,建议启动之前先调下时间,以免时间相差过大,增多了ntpd平滑服务修正时间的时长。子节点手动调时如下:
上图中指令的意思是直接与主节点时间同步
现在启动ntp服务(主节点、子节点都要进行操作)
注意:如果在非root用户下一定要加sudo ,如上图不加sudo不会报错,但是服务启动不了
5.检查ntp服务
主节点如下:
子节点如下:(注意:子节点完全启动可能要过个7-8分钟)