HBase 常见问题集合
来源:互联网 发布:网络团伙诈骗案判刑 编辑:程序博客网 时间:2024/06/07 07:09
一. Region Server 意外退出
1.1 背景
报错信息如下:
ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
之后, regionserver就退出了。
对于一个 reigonserver, 它需要将自己注册到 Zookeeper 上 master 的 Znode 上。这样的目的,是当master 宕机或者新的master启动的时候,能及时收到通知。对于 regionserver来说,维持和 Zookeeper 的联系是非常重要的。因为 regionserver 需要定期的将心跳包发给 master server。如果 regionserver 不能及时的知道 master 的改变,就会导致 regionserver 和 master 失去联系,而成为一个僵死的进程。
于是,在默认情况下,regionserver 遇到这种情况,就选择退出。
1.2 原因
为什么 regionserver 和Zookeeper的session expired? 可能的原因有
- 网络不好
- Java full GC, 这会 block 所有的线程。如果时间比较长,也会导致 session expired
1.3 解决办法
- 将 Zookeeper 的 timeout 时间加长
<property><name>zookeeper.session.timeout</name><value>120000</value></property>
- 配置“hbase.regionserver.restart.on.zk.expire” 为true
这样子,遇到 ZooKeeper session expired , regionserver 将选择 restart 而不是 abort
为了避免 java full GC suspend thread 对Zookeeper heartbeat 的影响,我们还需要对 hbase-env.sh进行配置。
将
export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError \-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"修改成export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseParNewGC -Xmn256m"
参考自 《Region Server 意外退出》:http://eclecl1314-163-com.iteye.com/blog/1463431
0 0
- HBase 常见问题集合
- 集合常见问题
- 常见问题集合
- HBase常见问题解答
- HBase常见问题答疑解惑
- hbase+eclipse 常见问题解决方案
- Hbase安装常见问题总结
- HBase常见问题及其答案
- Hbase常见问题收集
- Hbase 常见问题及设置
- hadoop hbase hive 常见问题解决
- asp.net 常见问题集合
- 数据库常见问题集合
- vs2003常见问题集合
- web标准常见问题集合
- web标准常见问题集合
- ArcGIS Server常见问题集合
- 集合常见问题总结
- (转载)关于group by 两个或以上条件的分析
- tomcat配置文件server.xml详解 .
- kafka集群扩容(Topic迁移)
- java 集合(7) 自动装包解包
- ZABBIX修改汉化文件方法
- HBase 常见问题集合
- Couldn't load gif from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.ias
- 修改ssh服务的默认端口
- 数据结构课程设计
- pthread_join
- Android6.0 MountService和vold详解(二) vold的emulatedvolume
- MySQL 列变行 数据变换 行列转换
- GreenDao的简单使用说明(一)android studio中引入GreenDao
- 批处理不能显示中文