Узлы Кассандры становятся недоступными друг для друга

У меня есть 3 узла elassandra, работающие в докер-контейнерах.

Контейнеры созданы как:

Хост 10.0.0.1: запуск докера --name elassandra-node-1 --net= хост -e CASSANDRA_SEEDS="10.0.0.1" -e CASSANDRA_CLUSTER_NAME="BD Storage" -e CASSANDRA_DC="DC1" -e CASSANDRA_RACK="r1" -d strapdata/elassandra: последние

Хост 10.0.0.2: запуск докера --name elassandra-node-2 --net= хост -e CASSANDRA_SEEDS="10.0.0.1,10.0.0.2" -e CASSANDRA_CLUSTER_NAME="Хранилище BD" -e CASSANDRA_DC = "DC1" -e CASSANDRA_RACK = "r1" -d strapdata / elassandra: последние

Хост 10.0.0.3: запуск докера --name elassandra-node-3 --net= хост -e CASSANDRA_SEEDS="10.0.0.1,10.0.0.2,10.0.0.3" -e CASSANDRA_CLUSTER_NAME="Хранилище BD" -e CASSANDRA_DC = " DC1 "-e CASSANDRA_RACK =" r1 "-d strapdata / elassandra: последние

Кластер работал отлично в течение пары дней, так как создан, эластичный, Кассандра все было прекрасно.

Однако в настоящее время все узлы Кассандры стали недоступны друг другу: состояние Nodetool на всех узлах похоже

ЦОД: DC1

Состояние = Вверх / Вниз |/ Состояние = Нормальный / Выход / Соединение / Перемещение - Владение токенами загрузки адреса (действует) Идентификатор хоста Стойка DN 10.0.0.3 11.95 ГиБ 8 100.0% 7652f66e-194e-4886-ac10-0fc21ac8afeb r1 DN 10.0.0,2 11,92 ГиБ 8 100,0% b91fa129-1dd0-4cf8-be96-9c06b23daac6 r1 ООН 10.0.0.1 11,9 ГиБ 8 100,0% 5c1afcff-b0aa-4985-a3cc-7f932056c08f r1

Где ООН - текущий хост 10.0.0.1 То же самое на всех других узлах.

Nodetool описывает кластер на 10.0.0.1, как

Информация о кластере: Имя: BD Storage Snitch: org.apache.cassandra.locator.GossipingPropertyFileSnitch DynamicEndPointSnitch: включено Partitioner: org.apache.cassandra.dht.Murmur3Partitioner версии схемы: 24fa5e55-3935-3c0e.080: 9808: 080-999

            UNREACHABLE: [10.0.0.2,10.0.0.3]

При подключении к первому узлу повторяется только эта информация:

2018-12-09 07:47:32,927 ПРЕДУПРЕЖДЕНИЕ [OptionalTasks:1] org.apache.cassandra.auth.CassandraRoleManager.setupDefaultRole(CassandraRoleManager.java:361) CassandraRoleManager пропустил установку роли по умолчанию: некоторые узлы не были готовы 2018-12-09 07:47:32,927 ИНФОРМАЦИЯ [Необязательные задачи:1] org.apache.cassandra.auth.CassandraRoleManager$4.run(CassandraRoleManager.java:400) Задача установки завершилась ошибкой, переназначение 2018-12-09 07:47:32,980 ИНФОРМАЦИЯ [HANDSHAKE-/10.0.0.2] org.apache.cassandra.net.OutboundTcpConnection.lambda$handshakeVersion$1(OutboundTcpConnection.java:561) Версия рукопожатия с /10.0.0.2 2018-12-09 07:47:32 980 ИНФОРМАЦИЯ [HANDSHAKE-/10.0.0.3] org.apache.cassandra.net.OutboundTcpConnection.lambda$handshakeVersion$1(OutboundTcpConnection.java:561) Версия рукопожатия с /10.0.0.3

Через некоторое время, когда какой-то узел перезапускается:

2018-12-09 07: 52: 21,972 ПРЕДУПРЕЖДЕНИЕ [MigrationStage:1] org.apache.cassandra.service.MigrationTask.runMayThrow(MigrationTask.java:67) Невозможно отправить запрос извлечения схемы: узел /10.0.0.2 не работает.

Попытка до сих пор: Перезапуск всех контейнеров одновременно Перезапуск всех контейнеров один за другим Перезапуск cassandra во всех контейнерах, таких как: service cassandra restart Nodetool disablegossip, затем включите его Восстановление Nodetool: команда восстановления # 1 завершилась с ошибкой Конечная точка не активна: /10.0.0.2

Кажется, что все схемы узлов различны, но я до сих пор не понимаю, почему они помечены как нисходящие.

1 ответ

Если у вас другая версия Cassandra, то восстановление nodetool не приведет к извлечению данных. Сохраните ту же версию Cassandra. иногда узел, показывающий внизу или недоступный из-за сплетен, не происходил должным образом. Причиной может быть сеть, высокая нагрузка на этот узел или узел очень загружен и много операций ввода-вывода, таких как восстановление, уплотнение и т. д.

Другие вопросы по тегам