Кассандра слишком много открытых файлов - PullRequest
1 голос
/ 29 января 2012

Я использовал cassandra 0.6.5 в двухузловом (A и B) кластере.
Hector используется на стороне клиента.

Один узел A всегда имеет too many open files exception после некоторого времени работы.
Я запускаю netstat на узле.
Он показывает много CLOSE_WAIT TCP-соединений.

Это виновник исключения.
Однако, что вызывает так много CLOSE_WAIT соединений,
Это проблема со стороны клиента Hector?
Почему другой узел B не имеет этой проблемы?

1 Ответ

5 голосов
/ 29 января 2012

Вместо использования netstat попробуйте lsof -n | grep java. Сколько файловых дескрипторов перечислено там (вы можете получить счет с lsof -n | grep java | wc -l)?

Документы dasastax предполагают, что вы можете достичь предела дескриптора файла по умолчанию, равного 1024 . Вы можете изменить это через ulimit или в /etc/security/limits.conf. Datastax предлагает следующие изменения:

echo "* soft nofile 32768" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 32768" | sudo tee -a /etc/security/limits.conf
echo "root soft nofile 32768" | sudo tee -a /etc/security/limits.conf
echo "root hard nofile 32768" | sudo tee -a /etc/security/limits.conf

Пакет debian устанавливает следующие значения:

# Provided by the cassandra package
cassandra  -  memlock  unlimited
cassandra  -  nofile   100000

Я бы также настоятельно рекомендовал вам перейти на более новую версию Cassandra.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...