Я использую встроенную Кассандру. Когда я выключаю и перезапускаю данные службы Cassandra, теряется. Я думаю, что приличные данные не были правильно сброшены на диск. Поэтому я попытался использовать nodetool для ручной очистки данных и проверки доступности данных. Но nodetool, похоже, не работает должным образом для встроенного сервиса Cassandra. Я получаю следующую ошибку:Программно очищать данные до кассандры каждый раз перед закрытием кассандры
c:\vijay\cassandra\bin>nodetool -host 192.168.2.86 -p 7199 drain
Starting NodeTool
Failed to connect to '192.168.2.86:7199': Connection refused: connect
Я попытался установить свойства jmx, но я получаю ошибку. Я добавил следующие строки в мой код:
System.setProperty("com.sun.management.jmxremote", "true");
System.setProperty("com.sun.management.jmxremote.port", "7197");
System.setProperty("com.sun.management.jmxremote.authenticate", "false");
System.setProperty("com.sun.management.jmxremote.ssl", "false");
System.setProperty("java.rmi.server.hostname", "my ip");
Итак, есть ли способ, чтобы вручную очистить данные Кассандры без использования nodetool?
Edit 1:
После нескольких часов безуспешных попыток я теперь в состоянии запустить nodetool (вместо добавления конфигурации JMX в код, добавленный в Eclipse, отладка конфигурации, и она работала). Теперь я выполнил команду слива, и данные были правильно сброшены на диск. Итак, теперь мой вопрос: Почему данные не правильно очищены? Каждый раз, когда я перезапускаю службу Cassandra, последние изменения исчезли.
Данные не должны быть промыты, пока memtable не достигнет определенного размера. До этого времени стойкость гарантируется фиксацией, которая * * краснеет во время написания справки. – RussS
Вот в чем проблема: в моем случае, я думаю, что фиксация журналов неправильно очищена. Когда я очищаю данные с помощью nodetool перед отключением службы, это работает хорошо, данные доступны после перезапуска сервера. любой способ программно очищать данные каждый раз, когда сервер падает? – Vijay
Я думаю, вам стоит попытаться выяснить, почему журнал фиксации не смывается. Он должен постоянно писать и стирать, если вы не отключили fsync или fsync, которые не корректно ведут себя в вашей системе. Как только это будет исправлено, вы не потеряете данные при перезагрузке, и вам не придется вручную очищать. – RussS