как взять пространство ключей как свалку в кассандре?

Мне нужно взять пространство ключей с сервера в качестве дампа и восстановить этот дамп в моей локальной кассандре, я знаю, что нужно делать в mysql, но как это сделать в nosql? Я узнаю на сайте, что nodetool, моментальный снимок и формат файла csv могут достичь этого, но я не смог его получить?

Ответ 1

Вы можете сделать это с помощью "nodetool". Для хорошей справочной документации смотрите здесь: http://www.datastax.com/docs/1.1/backup_restore

Примерно вам необходимо выполнить следующие шаги:

  1. возьмите "снимок" в пространстве nodetool snapshot <keyspace-name> используя: nodetool snapshot <keyspace-name>. Это выполняется на сервере, где вы хотите принять, генерирует "моментальный снимок". Он будет делать это, сохраняя "моментальный снимок" для каждой таблицы в пространстве ключей.
  2. скопируйте "снимки" на локальный сервер. Сделайте это для каждой таблицы ключей: <cassandra-dir>/data/<keyspace-name>/<table-name>/snapshots/ (найдите "последний" сделанный снимок - когда вы берете снимок, он сообщает вам имя "/" ID "сделанного моментального снимка).
  3. на вашем локальном сервере перед размещением моментальных снимков сервера выполните следующие действия: остановите cassandra, удалите содержимое этого "пространства ключей" (снова для каждой таблицы ключей: <cassandra-dir>/data/<keyspace>/<table-name>/), а затем поместить "серверные" снимки в каждую соответствующую таблицу "keyapce" (непосредственно в <cassandra-dir>/data/<keyspace>/<table-name>/ а не в каталоге "моментальный снимок"),
  4. перезапустите локальный сервер, и у вас должны быть данные с сервера на локальном сервере.

НТН.

Ответ 2

Для этого снимок.

Команда для взятия snapshot-

<-path to cassandra bin folder> nodetool -h <-server host name/ IP> -p <-server port> snapshot

Это создаст каталог SNAPSHOT в папке VAR, и этот каталог содержит моментальный снимок

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