对于region非常多的大规模集群,0.94之前的版本存在以下bug:集群启动时,
master首先启动后,所有的regions都会被assigned给第一个注册启动的regionserver,
这个造成数据严重倾斜,导致严重的性能问题。0.94之后的版本修复了hbase.master.wait.on.regionservers.mintostart,
只有启动的regionserver数量达到配置值时,regionserver才会并行地assign region给regionserver。
zookeeper配置项zookeeper.session.timeout
默认值是3分钟,即regionserver服务器宕机3分钟后,master才会通知服务器宕机。可以把这个配置值调到1分钟或者更低,这会加快master对宕机
的响应速度。但是调小这个参数也会带来其他影响,如果regionserver垃圾回收耗时超过该配置值,那么master会当做这个regionserver节点宕机,
这可能要导致重启该regionserver节点。这也可以解释有时大批量导入数据到HBase时,regionserver宕机的原因。
Hdfs配置项dfs.datanode.failed.volumes.tolerated
一个数据节点允许最大磁盘不可用数量,默认值是1,即一个数据节点上一块磁盘不可用即触发node fault。通常hdfs三副本分别存储在不同节点上,
因此调高该参数一般不会影响hdfs高可用性。
在HBase集群中,遇到如下问题:node fault会触发该节点上的hbase表region迁移,迁移过程中相关region不可用,通常迁移
master首先启动后,所有的regions都会被assigned给第一个注册启动的regionserver,
这个造成数据严重倾斜,导致严重的性能问题。0.94之后的版本修复了hbase.master.wait.on.regionservers.mintostart,
只有启动的regionserver数量达到配置值时,regionserver才会并行地assign region给regionserver。
zookeeper配置项zookeeper.session.timeout
默认值是3分钟,即regionserver服务器宕机3分钟后,master才会通知服务器宕机。可以把这个配置值调到1分钟或者更低,这会加快master对宕机
的响应速度。但是调小这个参数也会带来其他影响,如果regionserver垃圾回收耗时超过该配置值,那么master会当做这个regionserver节点宕机,
这可能要导致重启该regionserver节点。这也可以解释有时大批量导入数据到HBase时,regionserver宕机的原因。
Hdfs配置项dfs.datanode.failed.volumes.tolerated
一个数据节点允许最大磁盘不可用数量,默认值是1,即一个数据节点上一块磁盘不可用即触发node fault。通常hdfs三副本分别存储在不同节点上,
因此调高该参数一般不会影响hdfs高可用性。
在HBase集群中,遇到如下问题:node fault会触发该节点上的hbase表region迁移,迁移过程中相关region不可用,通常迁移