Cassandra打开太多文件 - 可能的文件描述符泄漏

时间:2015-11-26 14:00:29

标签: linux cassandra centos file-descriptor

我对Cassandra很新,我想在一个节点上测试它,一旦我在CentOS服务器上构建它就会打开数十万个文件。当我运行lsof | grep java | wc -l时,我得到超过140000,如果我启动客户端连接并运行查询,描述符的数量会上升,最多可达近一百万,此时服务器会停止。我尝试使用nodetoolsstablescrub清理SSTables,我尝试删除/var/lib/cassandra/data/中的数据,但是一旦构建Cassandra节点,我仍然会打开超过50000个文件描述符。我在lsof结果中注意到我只有一个进程ID(PID),但我有数百个进程组ID(PGID)。这是预期的吗?它与节点数有关吗?每个进程组的文件描述符都是相同的。以下是数据如何重复的一小部分示例:

java      20595 20654      root  198u  a_inode                0,9           0       6999 [eventpoll]
java      20595 20654      root  199u  a_inode                0,9           0       6999 [eventfd]
...
java      20595 20655      root  198u  a_inode                0,9           0       6999 [eventpoll]
java      20595 20655      root  199u  a_inode                0,9           0       6999 [eventfd]
...
java      20595 20656      root  198u  a_inode                0,9           0       6999 [eventpoll]
java      20595 20656      root  199u  a_inode                0,9           0       6999 [eventfd]
.... and so on.

还有其他文件描述符,如:

java      20595 20655      root  mem       REG              253,1       32296  201350741 /usr/lib64/libffi.so.6.0.1

也出现了很多次。

安装是否损坏或Cassandra配置错误?

我在这里阅读了DataStax的文档:Json.NET

我已经阅读了几乎所有类似的问题,因为它似乎是一个相当普遍的问题,但我不认为在任何地方都提出了完全相同的问题。

0 个答案:

没有答案