Снимок в драйвере кассандры

Я пытаюсь сделать снимок cassandra cluster с узла, на котором не установлено cassandra, то есть узла, который не является частью кластера (поэтому нельзя использовать nodetool). Я подумываю использовать для этого драйвер cassandra 3.0.0.

Документация http://datastax.github.io/python-driver/api/index.html не упоминается ни о каком API для создания снимка.

Итак, должен ли я предполагать, что в настоящее время достичь того же невозможно?


person user3351750    schedule 18.12.2015    source источник


Ответы (2)


Невозможно сделать это с помощью драйверов собственного протокола. Вам нужно будет использовать JMX-клиент, который nodetool использует для вызова этого метода.

Лично я бы поставил Cassandra на машину, на которой вы хотите запустить команду, и использовал бы nodetool. Это может быть так же просто, как получить дистрибутив tarball, если вы не хотите устанавливать с помощью диспетчера пакетов.

person Adam Holmberg    schedule 18.12.2015

У драйверов нет возможности запускать моментальный снимок. Однако можно запустить моментальный снимок удаленно через JMX. Nodetool, как правило, самый простой способ сделать это. Его можно использовать с машины, на которой не запущена Cassandra - просто загрузите tarball Cassandra, который соответствует версии вашего кластера, и используйте nodetool, включенный в него.

Вам также может потребоваться изменить конфигурацию вашего кластера Cassandra (в cassandra-env.sh), чтобы включить удаленные соединения JMX. Однако в этом случае помните о последствиях для безопасности.

person Tyler Hobbs    schedule 18.12.2015
comment
Также, если на узлах кластера работают разные версии cassandra, и нам нужно использовать один узел, с которого мы хотели бы сделать все резервные копии (с помощью nodetool), возникнут ли проблемы с nodetool? - person user3351750; 21.12.2015
comment
user3351750 - если у вас разные версии cassandra в одном кластере, у вас будут другие проблемы. Вероятно, одним из ваших главных приоритетов должно быть приведение всех узлов к одной и той же версии. например, формат sstables может быть изменен между версиями. Затем nodetool -h ‹hostname› можно использовать для создания моментального снимка. Лучшая идея - использовать инструмент для одновременного запуска моментальных снимков на всех узлах. - person LHWizard; 04.01.2016