Hbase 0.20: Low Memory Performance Tuning

| No Comments
Bookmark and Share

Hey Everybody!

As promised, though a little later than I'd originally hoped, here is a quick blurb on what I've done to make my fully distributed Hbase instance run with a little bit more stability.


	hbase.hregion.max.filesize
	134217728
	Default: 268435456

This setting is the maximum file size of a region in any given Hbase table. Setting this to a lower value will inevitably increase the number of regions served, but it seems to help prevent time-outs when dealing with desktop grade hardware. It's a little easier for the system to move around and work with slightly smaller files.


	hbase.hstore.compactionThreshold
	2
	Default: 3

This setting controls how often a mem store file will be compacted into a full region file. The mem store file is created when a mem store is flushed to disk. Setting this to a lower value, increases the number of compactions you have, but it decreases the amount of time it takes to compact. During my testing, my clients were timing out during compactions, so this setting helped to prevent that.


	hbase.hregion.memstore.flush.size
	33554432
	Default: 67108864

This is the mem store mentioned earlier. Once the store reaches the configured size, it is flushed to disk. Setting this value lower gives you your biggest bang for saving memory, as it forces data to disk sooner, and uses less memory overall.

Please experiment with these settings on your own accord. Your results may differ, but for me, these settings made the difference that allowed my very large import to complete without a single failure.

Leave a comment



About this Entry

This page contains a single entry by Travis Hegner published on November 23, 2009 10:35 AM.

Ubuntu 9.10 Karmic Koala Coming Soon! was the previous entry in this blog.

For Sale: 2004 Suzuki GSX-R600 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.