Временно изменить несколько узлов на один узел

Я настроил cassandra 3.0.9 на 3 узлах, но какое-то время мне приходится использовать только 1 узел. Я отключил еще 2 узла от сети, а также удалил записи обоих узлов из файлов Cassandra.yaml,ackdc и топологии.

Когда я проверяю состояние инструмента узла, он показывает мне оба нижних узла. Когда я пытаюсь выполнить любой запрос на cqlsh, он выдает следующую ошибку:

Цитата OperationTimedOut: errors={'127.0.0.1': 'Время ожидания запроса истекло при ожидании согласования схемы. См. Session.execute_async и Cluster.max_schema_agreement_wait.'}, last_host=127.0.0.1.

Blockquote Warning: обнаружено несоответствие версии схемы; проверьте версии схемы ваших узлов в system.local и system.peers.

Как я могу это решить?


person Dushyant Gohil    schedule 16.11.2016    source источник


Ответы (1)


Это не то, как вы удаляете узел из кластера Cassandra. На самом деле то, что вы делаете, довольно опасно. Как правило, вы должны использовать nodetool decommission. Если ваши другие два узла все еще не повреждены и просто отключены, я предлагаю временно вернуть их в режим онлайн и позволить выводу из эксплуатации сделать свое дело.

Я также собираюсь добавить это — возможно, вы упустили большую часть своих данных с шагами, которые вы сделали выше, если только все ключевые пространства не имеют RF = 3. Cassandra равномерно распределяет данные между узлами в соответствующем DC. Шаг вывода из эксплуатации, о котором я упоминал выше, перераспределяет данные.

Теперь, если у вас нет других двух узлов для запуска nodetool decommission, вам, возможно, придется удалить узел с nodetool removenode и, в худшем случае, nodetool assassinate.

Ознакомьтесь с этими документами для справки и полными шагами по удалению узла: https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddingRemovingNodeTOC.html

person MarcintheCloud    schedule 16.11.2016
comment
Я сделал это с помощью nodetool и удалил оба узла. да, я могу понять, когда это в производстве, это опасно, но сейчас мы находимся на стадии тестирования, так что пока все будет в порядке. Спасибо за ответ и совет MarcintheCloud - person Dushyant Gohil; 16.11.2016