Изменение каталога коммитов в кассандре

В настоящий момент каталог commitlog указывает на Directory1. Я хочу сменить в нем другую директорию D2. Какой должна быть миграция?


person phaigeim    schedule 06.02.2017    source источник


Ответы (2)


Вот как мы это сделали. У нас есть клиент с балансировкой нагрузки, который общается с Cassandra 1.1.2, и каждый клиент живет на каждом узле Cassandra.

  1. Drain your service.
    • Wait for the load balancer to remove the node.
  2. Остановите службу на локальном узле, чтобы остановить прямую запись Client-Cassandra: systemctl stop <your service name>
  3. At this point there should be no more writes and greatly reduced disk activity:
    • iostat 2 - Disk activity should be near zero
    • nodetool gossipinfo
  4. Отключите протокол сплетен Кассандры, чтобы пометить узел мертвым и остановить Кассандра-Кассандра пишет: nodetool disablegossip
  5. Сбросить все содержимое журнала фиксации в SSTables: nodetool flush
  6. Очистить узел - эта команда более важна, чем очистка nodetool (и может включать в себя все поведение очистки nodetool): nodetool drain
  7. Остановите процесс cassandra: systemctl stop cassandra
  8. Измените конфигурационный файл (ы) Cassandra, например vi /etc/cassandra/default.conf/cassandra.yaml
  9. Запустить Кассандру: systemctl start cassandra
  10. Подождите 10-20 минут. Журналы Tail Cassandra, чтобы следовать, например tail -F /var/log/cassandra/system.log
  11. Перед переходом к следующему узлу убедитесь, что кольцо исправно: nodetool ring
  12. Перезапустить клиентскую службу: systemctl start <your service here>

Обратите внимание, что нам не нужно было вручную копировать сами файлы журнала фиксации. Об этом позаботились промывка и слив. Затем файлы медленно снова появились в новом месте commitlog_dir.

person supermitch    schedule 09.04.2018

Вы можете изменить каталог журналов фиксации в cassandra.yaml (ключ: «commitlog_directory») и скопировать все журналы в новое место назначения.

.datps://doc.com/ cassandra / 2.1 / cassandra / configuration / configCassandra_yaml_r.html # reference_ds_qfg_n1r_1k__commitlog_directory

каталог_коммитов

Каталог, в котором хранится журнал фиксации. Расположение по умолчанию: Установки пакетов: / var / lib / cassandra / commitlog Установки tarball: install_location / data / commitlog Для оптимальной производительности записи поместите журнал фиксации в отдельный раздел диска или (в идеале) на отдельном физическом устройстве из файла данных каталоги. Поскольку журнал фиксации только добавляется, для этой цели подходит жесткий диск.

person itstata    schedule 06.02.2017
comment
Позвольте мне попробовать это .. Проблема была в том, что у меня были и журналы фиксации, и каталоги данных на одном диске .. Теперь я хочу разделить это. Спасибо itstata - person phaigeim; 08.02.2017