RegionServer RPC队列请求数较大

2022-09-01 10:55:36 浏览数 (1)

问题描述及原因:HBase RegionServer RPC队列请求数较大

可能影响:

  • 客户端读写变慢或者超时

处理建议:

在EMR控制台进入“集群监控”,点击“DashBoard”,点击 “集群服务” --> HBASE --> 角色管理 -->RegionServer

点击进入,设置指标里选中RPC队列请求数,如下图所示,若只有部分Queue被打满,建议增加改队列的线程数。具体配置规则如下:

hbase get、put、scan到服务端后默认是用一个线程池来处理这些请求。

线程池的配置是:

代码语言:javascript复制
hbase.regionserver.handler.count
默认是128

若集群有比较大的scan时,建议将put、get和scan的线程池拆开,在hbase-site.xml中添加以下配置项,并滚动重启rs

代码语言:javascript复制
hbase.ipc.server.callqueue.read.ratio   取值范围0.0-1.0,假设配置为0.75
hbase.ipc.server.callqueue.scan.ratio   取值范围0.0-1.0,假设为配置0.25

按以上假设配置,则 处理put请求的线程个数是 128 x(1 - 0.75) = 32 处理get请求的线程个数是 128 x 0.75 x(1 - 0.25) = 72 处理 scan请求的线程个数是 128 x 0.75 x 0.25 = 24

其中128就是上文配置的总线程数。scan的比例是在read的基础上。

replicationQueue配置:hbase.replication.source.maxthreads 默认是10

PriorityQurue配置:hbase.regionserver.metahandler.count 默认20

replicationQueue、PriorityQurue正常很慢打满。

0 人点赞