hbase 重启regionserver报错 Call queue is full on xxxx,16000,1611197476326, too many items queued

今天发现hbase有个regionserver挂了,于是登录cm重启,发现没有起来,然后看日志发现报错了,报错信息如下:
在这里插入图片描述
于是百度查询,发现网上好多是修改 hbase.ipc.server.max.callqueue.size 这个参数,其实增加队列大小即可,不用设置这个,我的解决方法是增加 RegionServer 中启动的 RPC 服务器实例数量:
hbase.regionserver.handler.count 默认30个,增加到200个,交替重启。好了,regionserver起来了
知识点:
hbase.regionserver.handler.count
该配置参数用于定义regionserver上用于等待响应用户表级请求的线程数,通常的配置规则是:当每次请求的数据量较大时(如接近MB的单词put,cache较大的scan操作);当每次请求负载较小时,则把该值配置较大。同时在请求的数据量大小收到参数hbase.ipc.server.max.callqueue.size.限制,典型的配置场景是网站后端的HBase集群,这种场景下大多数为读请求,很少写请求,因此这种场景可以把该值配置到最大也是安全的。
如果单个请求的数据量很大,并且将该值配置的很大时,put并发量很高时,会给内存造成很大压力,甚至有可能触发内存溢出。
可以通过查看rpc.logging(regionserver打开DEBUG日志级别),根据在排队的线程数量消耗的内存大小来判断hbase.regionserver.handler.count配置是否过大或者过小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值