读书人

HBase高级配置跟调整(1)

发布时间: 2013-12-10 15:05:55 作者: rapoo

HBase高级配置和调整(1)
vi $HBASE_HOME/conf/hbase-site.xml <property> <name>hbase.regionserver.handler.count</name> <value>40</value> </property>? ? ? ?hbase.regionserver.handler.count属性可控制RPC侦听程序的线程数。该属性的默认值为10。这是一个相当低的值,这样设置的目的是防止RegionServer在某些情况下出现耗尽内存的情况。

? ? ? ?如果RegionServer上的可用内存较少,就应该将该属性设为一个较低的值。较低的值也适用于需要大量内存才能对请求进行处理的情形(比如将大值写入HBase或在大型缓存中扫描数据)。将hbase.regionserver.handler.count属性设为较高值意味着可以有更多的并发客户端,这可能会消耗掉很多RegionServer的内存,甚至有可能会用光所有的内存。

? ? ? ?如果每个请求只需要一点点内存,但每秒的交易次数(TPS)却很高,那么就应该将该属性设为一个较大的值,以使RegionServer可以处理更多的并发请求。

? ? ? ?在调整该属性的同时,建议启用RPC级的日志记录功能,然后监控每个RPC请求的内存使用情况和GC状态。

?

三、使用自定义算法预创建区域

? ? ? ?当我们在HBase中创建一张表时,该表一开始只有一个区域。插入该表的所有数据会保存在这个区域中。随着数据的不断增加,当该区域的大小达到一定阀值时,就会发生区域分割(Region Splitting)。这个区域会分成两半,以便使该表可以处理更多的数据。

? ? ? ?在写密集的HBase集群中,区域分割会带来以下几个需要解决的问题。

读书人网 >其他数据库

热点推荐