Hello HBasers,

I had a regionserver crash recently, and in perusing the logs it looks like it 
simply had a bit too little memory.  I'm running with 2200 MB heap on reach 
regionserver.  I plan to shave a bit off the child VM allowance in favor of the 
regionserver to correct this, probably bringing it up to 2500 MB.  My question 
is if there is any more specific memory allocation I should make rather than 
simply giving more to the RS.  I wonder about this because of the following:

load=(requests=0, regions=709, usedHeap=1349, maxHeap=2198)

which suggests to me that there was heap available, but the RS couldn't use it 
for some reason.

Conjecture: I do run with LZO compression, so I wonder if I could be hitting 
that memory leak referenced earlier on the list.  I know there's a new version 
of the LZO library available that I should upgrade to, but is it also possible 
to simply alter the table to gzip compression and do a major compaction, then 
uninstall LZO once that completes?

Log follows:

2010-12-15 20:01:05,239 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
Starting compaction on region 
ets.events,36345112f5654a29b308014f89c108e6,12798158203
11.1063152548
2010-12-15 20:01:05,239 DEBUG org.apache.hadoop.hbase.regionserver.Store: Major 
compaction triggered on store f1; time since last major compaction 119928149ms
2010-12-15 20:01:05,240 INFO org.apache.hadoop.hbase.regionserver.Store: 
Started compaction of 2 file(s) in f1 of 
ets.events,36345112f5654a29b308014f89c108e6,12
79815820311.1063152548  into 
hdfs://ets-lax-prod-hadoop-01.corp.adobe.com:54310/hbase/ets.events/1063152548/.tmp,
 sequenceid=25718885315
2010-12-15 20:01:19,403 WARN org.apache.hadoop.hbase.regionserver.Store: Not in 
setorg.apache.hadoop.hbase.regionserver.storescan...@7466c84
2010-12-15 20:01:19,572 FATAL 
org.apache.hadoop.hbase.regionserver.HRegionServer: Aborting region server 
serverName=ets-lax-prod-hadoop-02.corp.adobe.com,60020,
1289682554219, load=(requests=0, regions=709, usedHeap=1349, maxHeap=2198): 
Uncaught exception in service thread regionserver60020.compactor
java.lang.OutOfMemoryError: Direct buffer memory
        at java.nio.Bits.reserveMemory(Bits.java:656)
        at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:113)
        at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:305)
        at com.hadoop.compression.lzo.LzoCompressor.init(LzoCompressor.java:223)
        at 
com.hadoop.compression.lzo.LzoCompressor.reinit(LzoCompressor.java:207)
        at 
org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:105)
        at 
org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:112)
        at 
org.apache.hadoop.hbase.io.hfile.Compression$Algorithm.getCompressor(Compression.java:198)
        at 
org.apache.hadoop.hbase.io.hfile.HFile$Writer.getCompressingStream(HFile.java:391)
        at 
org.apache.hadoop.hbase.io.hfile.HFile$Writer.newBlock(HFile.java:377)
        at 
org.apache.hadoop.hbase.io.hfile.HFile$Writer.checkBlockBoundary(HFile.java:348)
        at org.apache.hadoop.hbase.io.hfile.HFile$Writer.append(HFile.java:530)
        at org.apache.hadoop.hbase.io.hfile.HFile$Writer.append(HFile.java:495)
        at 
org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:817)
        at org.apache.hadoop.hbase.regionserver.Store.compact(Store.java:811)
        at org.apache.hadoop.hbase.regionserver.Store.compact(Store.java:670)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.compactStores(HRegion.java:722)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.compactStores(HRegion.java:671)
        at 
org.apache.hadoop.hbase.regionserver.CompactSplitThread.run(CompactSplitThread.java:84)
2010-12-15 20:01:19,586 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics: 
request=0.0, regions=709, stores=709, storefiles=731, storefileIndexSize=418, 
memstoreSize=33, compactionQueueSize=15, usedHeap=856, maxHeap=2198, 
blockCacheSize=366779472, blockCacheFree=87883088, blockCacheCount=5494, 
blockCacheHitRatio=0
2010-12-15 20:01:20,571 INFO org.apache.hadoop.ipc.HBaseServer: Stopping server 
on 60020

Thanks,

Sandy

Reply via email to