文档章节

避免regionServer宕机

Zero零_度
 Zero零_度
发布于 2017/06/27 09:10
字数 342
阅读 20
收藏 0

因为regionserver 的管理信息主要记录在zookeeper,regionserver的宕机判断依据是session expired。ok

那么regionserver 和Zookeeper的session expired原因有哪些尼?

 

1. 网络不好。

2. Java full GC, 这会block所有的线程。如果时间比较长,也会导致session expired.

解决办法:

1. 将Zookeeper的timeout时间加长。

2. 配置“hbase.regionserver.restart.on.zk.expire” 为true。 这样子,遇到ZooKeeper session expired , regionserver将选择 restart 而不是 abort

具体的配置是,在hbase-site.xml中加入

<property>

<name>zookeeper.session.timeout</name>

<value>90000</value>

<description>ZooKeeper session timeout.

HBase passes this to the zk quorum as suggested maximum time for a

session.  See http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions

“The client sends a requested timeout, the server responds with the

timeout that it can give the client. The current implementation

requires that the timeout be a minimum of 2 times the tickTime

(as set in the server configuration) and a maximum of 20 times

the tickTime.” Set the zk ticktime with hbase.zookeeper.property.tickTime.

In milliseconds.

</description>

</property>

<property>

<name>hbase.regionserver.restart.on.zk.expire</name>

<value>true</value>

<description>

Zookeeper session expired will force regionserver exit.

Enable this will make the regionserver restart.

</description>

</property>

3、为了避免java full GC suspend thread 对Zookeeper heartbeat的影响,我们还需要对hbase-env.sh进行配置。

  设置jvm的内存回收算法:

     -XX:+CMSParallelRemarkEnabled。
如下所示:
 

export HBASE_OPTS="-Xms16g -Xmx16g -Xmn2g -Xss200k -XX:MaxNewSize=2g -XX:SurvivorRatio=2 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC  -XX:+CMSParallelRemarkEnabled   -XX:+UseFastAccessorMethods  -XX:+UseParNewGC -XX:MaxPermSize=300m -XX:MaxTenuringThreshold=5  -XX:GCTimeRatio=19 -XX:ParallelGCThreads=10 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-UseGCOverheadLimit "

最后启动  regionserver:
命令:hbase-daemon.sh start regionserver
开启balance命令:balance_switch true

本文转载自:http://blog.csdn.net/map_lixiupeng/article/details/42420603

Zero零_度
粉丝 69
博文 1268
码字总数 264512
作品 0
程序员
私信 提问
hbase各组件的作用

Zookeeper的作用 保证任何时候,集群中只有一个master 存贮所有Region的寻址入口。 实时监控RegionServer的状态,将Region server的上线和下线信息实时通知给Master 存储Hbase的schema,包括有...

张欢19933
2016/04/21
885
0
HBase原理之RegionServer宕机数据恢复

HBase采用类LSM的架构体系,数据写入并没有直接写入数据文件,而是会先写入缓存(Memstore),在满足一定条件下缓存数据再会异步刷新到硬盘。为了防止数据写入缓存之后不会因为RegionServer进...

HBase技术社区
2018/08/04
0
0
Hbase性能优化

1.hbase.regionserver.handler.count:rpc请求的线程数量,默认值是10,生产环境建议使用100,也不是越大越好,特别是当请求内容很大的时候,比如scan/put几M的数据,会占用过多的内存,有可...

2k10
2016/11/21
40
0
深入解读HBase2.0新功能之高可用读Region Replica

为什么需要Region Replica 在CAP理论中,HBase一直是一个CP(Consistency&Partition tolerance)系统。HBase一直以来都在遵循着读写强一致的语义。所以说虽然在存储层,HBase依赖HDFS实现了数...

HBase技术社区
2018/06/07
0
0
深入解读HBase2.0新功能之高可用读Region Replica

前言 基于时间线一致的高可用读(Timeline-consistent High Available Reads),又称Region replica。其实早在HBase-1.2版本的时候,这个功能就已经开发完毕了,但是还是不太稳定,离生产可用...

正研
2018/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

队列-顺序(c/c++实现)

队列是在线性表功能稍作一改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。 队列(顺序)实现的三个步骤: 定义所需的功能(...

白客C
15分钟前
5
0
安装tomcat部署网站/nginx代理tomcat/tomcat部署多个网站

来源:https://blog.csdn.net/Powerful_Fy 安装jdk: Oracle官方下载 https://www.oracle.com/technetwork/java/javase/downloads/index.html yum安装openjdk: 1.查找可使用的jdk包: [roo......

asnfuy
23分钟前
3
0
Linux 安装 Android studio

官网下载linux 版本 android xxxxx-xxxx.tar.gz 然后 找到它 解压缩 得到 android-studio文件夹 执行 [root@monkey java]# mv ./android-studio /opt [root@monkey java]# cd /opt/android-s......

MrLins
26分钟前
5
0
VMware vSphere虚拟机的迁移

VMware vSphere 6.7下,虚拟机的迁移按照移动的内容,可以分为4种: 1)冷迁移(cold migration) 2)热迁移(vMotion) 3)存储热迁移(storage vMotion) 4)完全热迁移(shared-nothing ...

大别阿郎
26分钟前
4
0
SpringCloud——Docker部署eureka集群

Docker部署eureka集群 一、环境准备 1.docker环境 centos7下的安装:https://www.jianshu.com/p/ec02810d6a2b docker常用命令:https://www.jianshu.com/p/af7977b1075c 没有用过docker的最好......

devils_os
26分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部