#cassandra
Вопрос:
У меня есть один доступный узел в моем кластере, и я попытался заменить его, но это не увенчалось успехом. Итак, я покинул узел и проигнорировал потерю данных из-за фактора репликации 3.
Теперь, когда я пытаюсь вывести из эксплуатации или добавить сервер, он работает не так, как ожидалось.
Я получаю эти информационные сообщения во всех узлах. Я также пытался убить и убрать. Этот узел не отображается в статусе инструмента узла. Но я предполагаю, что это где-то сохраняется, и Сплетники создают проблемы.
ИНФОРМАЦИЯ [Сцена сплетен:1] 2021-05-29 07:25:37 404 Сплетник.java:1029 — InetAddress /10.43.5.118 теперь ОТКЛЮЧЕН
ИНФОРМАЦИЯ [Сцена сплетен:1] 2021-05-29 07:25:37 405 Служба хранения.java:2324 — Удаление токенов [] для /10.43.5.118
А также, при перезапуске узла, я получаю ОШИБКУ от сплетни, которая является исключением NullPointerException. Он не может получить идентификатор хоста. Я попытался удалить его старым методом, упомянутым в stackoverflow. Используя JXM.
ERROR [GossipStage:1] 2021-05-29 08:48:35,229 CassandraDaemon.java:226 - Exception in thread Thread[GossipStage:1,5,main]
java.lang.NullPointerException: null
at org.apache.cassandra.gms.Gossiper.getHostId(Gossiper.java:866) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:2096) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.service.StorageService.onChange(StorageService.java:1822) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2536) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1070) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1181) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:64) ~[apache-cassandra-3.9.jar:3.9]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_181]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
Может кто-нибудь сообщить мне, как полностью удалить этот узел?
Комментарии:
1. Пожалуйста, добавьте версию Cassandra, над которой вы работаете
Ответ №1:
В этом случае, пожалуйста, удалите все данные с удаленного узла и попробуйте запустить автономный. если это сработает, то вам снова следует очистить данные на этом узле и присоединиться к кластеру с изменением конфигурации.
Кроме того, если у вас меньше данных на других узлах, пожалуйста, выполните очистку и восстановление один раз, прежде чем добавлять новый узел.
Комментарии:
1. Спасибо за ответ, у меня нет доступа к удаленному узлу. Он стал недоступен, и данные уже исчезли.
2. Таким образом, вы можете снова очистить данные и перезапустить узел. Надеюсь, вы сможете получить доступ.