Подтвердить что ты не робот

Программно очищать данные до кассандры каждый раз до закрытия кассандры

Я использую встроенную Кассандру. Когда я выключаю и перезапускаю данные службы 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");

Итак, есть ли способ вручную сбросить данные в Cassandra без использования nodetool?

Изменить 1:
После нескольких часов попыток я теперь могу запустить nodetool (вместо добавления jmx-конфигураций в код, который я добавил в конфигурации отладки Eclipse, и он сработал). Теперь я выполнил команду слива, и данные были правильно сброшены на диск. Итак, теперь мой вопрос: почему данные не правильно очищены? Каждый раз, когда я перезапускаю службу Cassandra, последние изменения ушли.

4b9b3361

Ответ 2

Как вы останавливаете и запускаете сервер Cassandra? Призыв stopServer на демоном Cassandra должен очищать любые записи в журнале фиксации. Поток будет продолжать выполнять некоторую обработку даже после возвращения метода, поэтому, если вы убиваете JVM после stopServer(), вы можете не записывать данные.

Ответ 3

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

https://github.com/apache/cassandra/blob/trunk/conf/cassandra.yaml#L231

Ответ 4

Возможно, флеш выпущен, но не работает. Промывка должна регистрироваться в журналах. Убедитесь, что вы не смываете. Если вы покраснели, и он не работает, должно быть некоторое указание на то, почему сброс не удалось.