本文主要介绍软件层面的性能调优。故,在此之前,请检查硬件状况。硬盘推荐SSD,一般SATA即可。网络千兆以上。可以安装Ganglia等工具,检查各节点的各硬件的运作状态:CPU,Memo,网络等等。
?
?
调整参数
入门级的调优可以从调整参数开始。投入小,回报快。
?
1. Write Buffer Size
- 快速配置
HTable htable = new HTable(config, tablename); htable.setWriteBufferSize(6 * 1024 * 1024); htable.setAutoFlush(false);??
设置buffer的容量,例子中设置了6MB的buffer容量。
* 必须禁止auto flush。
* 6MB是经验值,可以上下微调以适应不同的写场景。
?
- 原理
HBase Client会在数据累积到设置的阈值后才提交Region Server。这样做的好处在于可以减少RPC连接次数。
?
?
2. RPC Handler
- 快速配置
修改hbase-site.xml的hbase.regionserver.handler.count配置项:
<property> <name>hbase.regionserver.handler.count</name> <value>100</value> </property>??
- 原理
该配置定义了每个Region Server上的RPC Handler的数量。Region Server通过RPC Handler接收外部请求并加以处理。所以提升RPC Handler的数量可以一定程度上提高HBase接收请求的能力。当然,handler数量也不是越大越好,这要取决于节点的硬件情况。
?
?