Пытаясь использовать версию cassandra 2.0.1, я столкнулся с проблемой рукопожатия с версией.
Было исключение из OutboundTcpConnection.java, указывающее, что подтверждение связи невозможно с определенным узлом.
Я посмотрел дамп TCP и развеял сомнения, что на сетевом уровне проблем нет.
Приложение не завершает процесс установления связи. Более того, порт 7000 все еще активен.
Например, у меня все 8 нод работают. Но когда я пробую статус nodetool, некоторые узлы дают статус узла DN-down. Позже, после проверки, было обнаружено, что очередь незавершенной работы TCP переполнена, и конкретный сервер перестал прослушивать другие серверы в кластере.
Я до сих пор не могу определить основную причину этой проблемы.
Примечание. Я пробовал использовать предыдущую версию cassandra 1.2.4, и в то время она работала нормально. Прежде чем перейти к производству, я подумал, что лучше перейти на версию 2.0.x, чтобы избежать накладных расходов на миграцию. Может ли кто-нибудь дать представление об этом?
Исключение я получаю
NFO [HANDSHAKE-/aa.bb.cc.XX] 2013-10-03 17:36:16,948 OutboundTcpConnection.java (строка 385) Версия рукопожатия с /aa.bb.cc.XX INFO [HANDSHAKE-/aa.bb. cc.YY] 2013-10-03 17:36:17,280 OutboundTcpConnection.java (строка 396) Не удается установить связь с версией /aa.bb.cc.YY