Apache Cassandra. Документация DataStax — Backing up and restoring data. Taking a snapshot

Cassandra_logoПеревод статьи «Backing up and restoring data. Taking a snapshot» из официальной документации DataStax.

Создание снимков данных

Снимки данных (Snapshots) выполняются с помощью команды «nodetool snapshot» 1 и являются актуальными только для узла, на котором они выполнены. Чтобы сделать «глобальный» снимок (на всех узлах одновременно), вы можете использовать команду nodetool snapshot», выполнив её с помощью утилит, осуществляющих параллельное выполнение команд ssh (например pssh 2).

Первым делом при выполнении снимка все данные из оперативной памяти сбрасываются на диск, затем создается жесткая ссылка к файлам SSTable для каждого пространства ключей (аналог реляционных баз данных). Вы должны иметь достаточное количество свободного места на каждом узле, чтобы разместить снимки ваших данных. Хоть и одиночный снимок требует не так много свободного пространства, большое количество снимков данных могут стать причиной более интенсивного роста использования жестких дисков, поскольку снимки препятствуют удалению старых данных. После того, как создание снимка завершено, вы можете переместить файлы резервных копий в другое место при необходимости или вы можете оставить все как есть.

Примечание: Cassandra сможет восстановить данные из снимка лишь в том случае, если существует схема таблицы. Рекомендуется, чтобы вы также производили резервное копирование схемы данных.

Процедура

Запустите команду «nodetool snapshot», указав имя хоста, порт JMX и имя пространства ключей. Например:
$ nodetool -h localhost -p 7199 snapshot mykeyspace

Результаты

Снимок будет создан в директории директория_расположения_данных/имя_пространства_ключей/имя_таблицы/snapshots/имя_снимка. Каждая директория снимков содержит пронумерованные .db-файлы, которые содержат данные на момент выполнения снимка.

Например:

При установке по умолчанию:
/var/lib/cassandra/data/mykeyspace/mytable/snapshots/1406227071618/mykeyspace-1-Data.db

При установка в произвольную директорию:
install_location/data/data/mykeyspace/mytable/snapshots/1406227071618/mykeyspace-1-Data.db

Оригинал статьи — Taking a snapshot

comments powered by HyperComments