为什么我的所有Hbase Regionservers都关闭了

时间:2016-02-19 16:02:16

标签: hbase

由于以下异常,我的所有HbaseRegion服务器都崩溃了(已停止):

java.net.SocketException: Too many open files
    at sun.nio.ch.Net.socket0(Native Method)
    at sun.nio.ch.Net.socket(Net.java:441)
    at sun.nio.ch.Net.socket(Net.java:434)
    at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:105)
    at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:60)
    at java.nio.channels.SocketChannel.open(SocketChannel.java:142)
    at org.apache.hadoop.net.StandardSocketFactory.createSocket(StandardSocketFactory.java:62)
    at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1620)

但是我确实将操作系统用户文件描述符增加到了65535,并且给Hbase这个数字是55535,为什么Hbase仍然在这个配置上崩溃?

我试图向Hbase插入20万条大行,每行可能有1MB-10MB,前10万条记录运行良好,但第二条10万条记录导致Hbase崩溃。

1 个答案:

答案 0 :(得分:2)

根据HBase文档HBase Configuration,您应该能够检查您相信设置的ulimit是否已设置:

  

另外,一个常见的错误是管理员会为特定用户提供文件描述符,但无论出于何种原因,HBase将像其他人一样运行。 HBase在其日志中打印作为其所见的ulimit的第一行。确保其正确。