访问HBase经常出现报错:ServerNotRunningYetException: Server xxx.xxx.xxx is not running yet

简介: 访问HBase经常出现报错:ServerNotRunningYetException: Server xxx.xxx.xxx is not running yet

问题背景

访问HBase服务频繁出现报错:ServerNotRunningYetException: Server emr-worker-1.cluster-300808,16020,1662065267349 is not running yet。


分析过程

1. 根据报错信息可以看到是RegionServer节点不是在运行的状态,查看RegionServer日志可以看到使用的GC算法是CMS,Full GC很频繁,且耗时长。

2.使用CMS(并发标记-清除算法)避免不了Full GC,而且Full GC场景下会通过一次串行的完整垃圾收集来回收碎片化的内存,这个过程通常会比较长,应用线程会发生长时间的STW停顿,不响应任何请求,导致RegionServer停顿。

3. 可以查RegionServer堆内存配置信息,RegionServer堆内存只配了1.5G,CMSInitiatingOccupancyFraction配置的是85,当老年代内存使用率超过85%就开始执行CMS GC。结合GC的情况来看是内存不足导致Full GC时发生长时间的STW服务停顿,如果在这个时候访问RegionServer就会出现ServerNotRunningYetException服务不可用的情况。


方案结论

建议根据业务情况配置更大的堆内存来解决。另外避免经常STW停顿的方式来FullCG,也可以考虑使用G1垃圾回收的方式。 G1适合大内存的场景,通过把堆内存划分为多个 Region,然后对各个Region单独进行GC,这样就具有了并行整理内存碎片的功能,可以最大限度的避免Full GC的到来,提供更加合理的停顿时间。


适用范围

开源大数据平台E-MapReduce

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
SQL 消息中间件 分布式数据库
flink sql问题之连接HBase报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
187 0
|
2月前
|
SQL 关系型数据库 分布式数据库
Flink报错问题之用flush方法写入hbase报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
3月前
|
分布式计算 分布式数据库 API
Spark与HBase的集成与数据访问
Spark与HBase的集成与数据访问
|
XML 弹性计算 Shell
HBase Shell 访问|学习笔记
快速学习 HBase Shell 访问
136 0
|
分布式计算 算法 网络协议
Hadoop安装Hbase启动失败报错解决方法
Hadoop安装Hbase启动失败报错解决方法
778 0
Hadoop安装Hbase启动失败报错解决方法
|
分布式数据库 Hbase
报错:java.lang.RuntimeException: Failed construction of Regionserver: class org.apache.hadoop.hbase.re
报错:java.lang.RuntimeException: Failed construction of Regionserver: class org.apache.hadoop.hbase.re
239 0
|
分布式计算 Java Hadoop
HBase集群搭建记录 | 云计算[CentOS8] | Maven项目访问HBase(下)
step3. 使用eclipse打开maven项目并配置 step4. 项目访问HBase
172 0
HBase集群搭建记录 | 云计算[CentOS8] | Maven项目访问HBase(下)
|
Java Linux 分布式数据库
HBase集群搭建记录 | 云计算[CentOS7] | Maven项目访问HBase(上)
写在前面 step1 Maven的下载与配置 1. 下载解压 2. 环境变量设置 3. 查看安装 4. 设置阿里云镜像[加速jar包下载] step2 Maven项目的创建 1.创建项目 2. 编译项目 3.测试项目 4.打包项目 5.安装项目
148 0
HBase集群搭建记录 | 云计算[CentOS7] | Maven项目访问HBase(上)
|
IDE 分布式数据库 C#
使用 C# 访问增强版 Hbase(Lindorm)
如何使用 C# 访问增强版 Hbase(Lindorm)
1075 0
使用 C# 访问增强版 Hbase(Lindorm)