内容简介:最近对一个HBase集群增加了BucketCache配置,减少其堆内内存GC已达到提升新能的目的。但是,没过多久整个集群就出现了大面积OOM现象,而且是发生在Direct Memory,日志错误信息如下。在没开启BucketCache之前,在hbase-env.sh中是没有分配堆外内存Direct Memory的。
1、java.lang.OutOfMemoryError: Direct buffer memory
最近对一个HBase集群增加了BucketCache配置,减少其堆内内存GC已达到提升新能的目的。
但是,没过多久整个集群就出现了大面积OOM现象,而且是发生在Direct Memory,日志错误信息如下。
2018-08-30 02:44:00,199 ERROR [Thread-40464] hdfs.DFSClient: Failed to close inode 43777915
java.io.IOException: DataStreamer Exception:
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:666)
Caused by: java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:693)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
at sun.nio.ch.Util.getTemporaryDirectBuffer(Util.java:241)
at sun.nio.ch.IOUtil.write(IOUtil.java:58)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at org.apache.hadoop.net.SocketOutputStream$Writer.performIO(SocketOutputStream.java:63)
at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:142)
at org.apache.hadoop.net.SocketOutputStream.write(SocketOutputStream.java:159)
at org.apache.hadoop.net.SocketOutputStream.write(SocketOutputStream.java:117)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
at java.io.DataOutputStream.write(DataOutputStream.java:107)
at org.apache.hadoop.hdfs.DFSPacket.writeTo(DFSPacket.java:176)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:611)
2、OOM异常原因
在没开启BucketCache之前,在hbase-env.sh中是没有分配堆外内存Direct Memory的。
而BucketChace的分配的方式是offheap(支持heap,offheap,file,file通常是建立在SSD或者PCIE-IO存储上)
<property>
<name>hbase.bucketcache.ioengine</name>
<value>offheap</value>
</property>
<property>
<name>hbase.bucketcache.size</name>
<value>12000</value>
</property>
DirectMemory分配为:
-XX:MaxDirectMemorySize=12100m
除去BucketCache占用的堆外之外,仅100M空间可用,DFSClient用到Direct Memory因而容易出现OOM现象。
建议:MaxDirectMemorySize – hbase.bucketcache.size >= 2048M
参考资料:
https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.2.0/bk_Sys_Admin_Guides/content/ref-db219cd6-c586-49c1-bc56-c9c1c5475276.1.html
https://community.hortonworks.com/content/supportkb/150736/error-hdfsdfsclient-datastreamer-exception-javalan.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Data Mining
Bing Liu / Springer / 2006-12-28 / USD 59.95
Web mining aims to discover useful information and knowledge from the Web hyperlink structure, page contents, and usage data. Although Web mining uses many conventional data mining techniques, it is n......一起来看看 《Web Data Mining》 这本书的介绍吧!