分享

hbase节点断网后不能正常连入集群

IT_雪夜归人 发表于 2016-5-20 12:08:17 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 9140
hbase节点断网后不能正常连入hbase集群,本应该是否这样?
是否有解决方案?

求教

已有(6)人评论

跳转到指定楼层
NEOGX 发表于 2016-5-20 12:39:26
断网是否指不能上互联网.
如果集群是内部的,应该和网络没有关系,可以正常加入
回复

使用道具 举报

IT_雪夜归人 发表于 2016-5-20 13:18:22
NEOGX 发表于 2016-5-20 12:39
断网是否指不能上互联网.
如果集群是内部的,应该和网络没有关系,可以正常加入

一个正常的hbase集群,如果其中一台与集群中其他机器断网三分钟,网络 恢复后会不会自动加到hbase集群中?
回复

使用道具 举报

NEOGX 发表于 2016-5-20 16:12:08
IT_雪夜归人 发表于 2016-5-20 13:18
一个正常的hbase集群,如果其中一台与集群中其他机器断网三分钟,网络 恢复后会不会自动加到hbase集群中 ...

重试的时间自己可以设置,也就是超时时间,一旦超过了超时时间,会认为已经与master断掉,会被集群排除。

详细如下:
超时时间、重试次数、重试时间间隔的配置也比较重要,因为默认的配置的值都较大,如果出现hbase集群或者RegionServer以及ZK关掉,则对应用程序是灾难性的,超时和重新等会迅速占满web容器的链接,导致web容器停止服务,关于socket的超时时间,有两种:1:建立连接的超时时间;2:读数据的超时时间。

可以配置如下几个参数:

1. hbase.rpc.timeout:rpc的超时时间,默认60s,不建议修改,避免影响正常的业务,在线上环境刚开始配置的是3秒,运行半天后发现了大量的timeout error,原因是有一个region出现了如下问题阻塞了写操作:“Blocking updates … memstore size 434.3m is >= than blocking 256.0m size”可见不能太低。

2. ipc.socket.timeout:socket建立链接的超时时间,应该小于或者等于rpc的超时时间,默认为20s

3. hbase.client.retries.number:重试次数,默认为14,可配置为3

4. hbase.client.pause:重试的休眠时间,默认为1s,可减少,比如100ms

5. zookeeper.recovery.retry:zk的重试次数,可调整为3次,zk不轻易挂,且如果hbase集群出问题了,每次重试均会对zk进行重试操作,zk的重试总次数是:hbase.client.retries.number * zookeeper.recovery.retry,并且每次重试的休眠时间均会呈2的指数级增长,每次访问hbase均会重试,在一次hbase操作中如果涉及多次zk访问,则如果zk不可用,则会出现很多次的zk重试,非常浪费时间。

6. zookeeper.recovery.retry.intervalmill:zk重试的休眠时间,默认为1s,可减少,比如:200ms

7. hbase.regionserver.lease.period:scan查询时每次与server交互的超时时间,默认为60s,可不调整。




回复

使用道具 举报

NEOGX 发表于 2016-5-20 16:12:58
排除的原理如下:

从MasterServer的角度看来只有一种现象,那就是RegionServer在Zookeeper上面注册的Node消失了。我们知道当RegionServer启动的时候会产生一个StartCode,并在Zookeeper上面注册一个EPHEMERAL类型的节点。

一旦RS和ZK之间的通信消失,EPHEMERAL的节点就会被自动删除。而MasterServer则会捕获这个Node消失的事件。


捕获这个事件之后,所有的事情就交给ServerManager.expireServer()来处理了。


首先ServerManager会更新自己的列表,包括deadserver list, online server list 以及 server connection list. 当然在我们试图Stop整个Cluster的时候也会收到同样的请求,不予理睬就好了。

回复

使用道具 举报

IT_雪夜归人 发表于 2016-5-24 08:17:19
NEOGX 发表于 2016-5-20 16:12
排除的原理如下:

从MasterServer的角度看来只有一种现象,那就是RegionServer在Zookeeper上面注册的Nod ...

非常感谢
回复

使用道具 举报

邓立辉 发表于 2016-5-24 08:27:41
NEOGX 发表于 2016-5-20 16:12
重试的时间自己可以设置,也就是超时时间,一旦超过了超时时间,会认为已经与master断掉,会被集群排除。 ...

如果一个节点长时间断网后,网络恢复后就不能连入hbase集群了么?非要重启整个集群的cdh么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条