hbase 0.98.9客户端的两个参数调优

本文介绍了作者在项目中遇到的HBase客户端线程过多的问题,通过VisualVM观察到大量线程处于等待状态。通过对HConnectionImplementation类的源码分析,发现了三个关键配置参数:`hbase.hconnection.threads.max`、`hbase.hconnection.threads.core`和`hbase.hconnection.threads.keepalivetime`。经过调整这些参数,将线程池的最大和核心线程数及空闲时间进行优化,成功减少了线程数量,提高客户端性能。
摘要由CSDN通过智能技术生成

公司的项目有用到hbase数据库,而我正好负责hbase客户端的接口代码编写工作;实际就是为hbase中的各个表,提供增,删,改,查的功能。
前段时间,同事对接口进行测试时,跟我反馈:在使用visualVM在查看线程运行状态时,发现hbase客户端的线程很多,具体干什么不清楚,但其中很多线程处于等待状态。起初,没时间就没在意。这段时间,功能差不多了,就也用visualvm来查看线程状态。
一,使用visualvm来查看线程状态
这里写图片描述
从图片可以看到,有256个名称为“hconnection-0x14ba9a2-shared-pool12-tX”的线程;其中很多线程是处于等待状态,只有位为数不多的线程在执行客户端对hbase数据库的操作。这里应该是可以进行优化的。
先说一下,我们项目大概是如何使用hbase客户端的。代码类似如下:

//表名
String tableName = "TableName";
//创建配置对象
Configuration c = new Configuration();
Configuration hbaseConfiguration &#
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值