Apache Cassandra присоединяется к новому узлу из-за ошибки потоковой передачи ⇐ JAVA
-
Гость
Apache Cassandra присоединяется к новому узлу из-за ошибки потоковой передачи
мы используем cassandra 3.11, теперь у нас есть кластер из 7 узлов. теперь мы присоединяемся к новому узлу (172.19.19.33). в system.log мы получили следующие сообщения:
ОШИБКА StreamSession.java:593 [Stream #xxxx] Ошибка потоковой передачи произошла в сеансе с узлом 172.19.19.12 java.lang.NullPointerException: ноль в org.apache.cassandra.db.lifecycle.LifecycleTransaction.update(LifecycleTransaction.java:340) ххххх хххх в ort.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:317)
Затем мы присоединяемся еще раз и используем tcpdump, чтобы перехватить пакеты от 172.19.19.12 и этого узла, который мы обнаружили, когда 172.19.19.12 отправляет TCP ZeroWindow на 172.19.19.19.33, а затем сразу же отправляет TCP-флаг RST。 как нам это сделать. что я могу сделать, чтобы присоединиться к новому узлу в этом кластере.
Я устанавливаю linux tcp_rmem и использую nodetool setstreamthrougput 32 и nodetool setinterdcstreamthrougput 32 для других узлов, исключая 172.19.19.33. Эти методы не решают эту проблему. Затем мы создаем новый кластер, вставляем около 1 ТБ данных, а затем присоединяем новый узел к этому кластеру. Выглядит нормально и работает хорошо.
В кластере 172.19.19.12 раньше были некоторые проблемы, за 70 дней до этого версия схемы кластера была изменена при перезапуске одного из узлов кластера, затем мы обнаружили, что таблица не была создана на всех узлах, поэтому мы получили данные таблицы файл и поместите его в начальные узлы (один из них), после чего кластер станет нормальным.
мы используем cassandra 3.11, теперь у нас есть кластер из 7 узлов. теперь мы присоединяемся к новому узлу (172.19.19.33). в system.log мы получили следующие сообщения:
ОШИБКА StreamSession.java:593 [Stream #xxxx] Ошибка потоковой передачи произошла в сеансе с узлом 172.19.19.12 java.lang.NullPointerException: ноль в org.apache.cassandra.db.lifecycle.LifecycleTransaction.update(LifecycleTransaction.java:340) ххххх хххх в ort.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:317)
Затем мы присоединяемся еще раз и используем tcpdump, чтобы перехватить пакеты от 172.19.19.12 и этого узла, который мы обнаружили, когда 172.19.19.12 отправляет TCP ZeroWindow на 172.19.19.19.33, а затем сразу же отправляет TCP-флаг RST。 как нам это сделать. что я могу сделать, чтобы присоединиться к новому узлу в этом кластере.
Я устанавливаю linux tcp_rmem и использую nodetool setstreamthrougput 32 и nodetool setinterdcstreamthrougput 32 для других узлов, исключая 172.19.19.33. Эти методы не решают эту проблему. Затем мы создаем новый кластер, вставляем около 1 ТБ данных, а затем присоединяем новый узел к этому кластеру. Выглядит нормально и работает хорошо.
В кластере 172.19.19.12 раньше были некоторые проблемы, за 70 дней до этого версия схемы кластера была изменена при перезапуске одного из узлов кластера, затем мы обнаружили, что таблица не была создана на всех узлах, поэтому мы получили данные таблицы файл и поместите его в начальные узлы (один из них), после чего кластер станет нормальным.
Мобильная версия