Восстановите моментальные снимки из кластера Cassandra с 3 узлами в новый кластер с 6 узлами.

Я новичок в cassandra и хотел бы получить помощь в восстановлении моментальных снимков из 3-узлового кластера Cassandra в новый 6-узловой кластер. У нас мало пространств ключей, и мы хотели бы скопировать данные из среды разработки в рабочую среду.

Заранее спасибо.


person user9420624    schedule 07.03.2018    source источник


Ответы (1)


Самый простой способ — использовать инструмент sstableloader, который входит в комплект Cassandra. Вы можете найти его в %installdir%/bin/sstableloader.

Сначала вам нужно будет заново создать схему в вашем новом кластере:

  1. дамп схемы для пространства ключей, которое вы хотите перенести из исходного кластера, используя cqlsh -e 'DESC KEYSPACE mykeyspace;' > mykeyspace.cql
  2. загрузите его в свой новый кластер, используя cqlsh -f mykeyspace.cql.
  3. (необязательно) Если ваш новый кластер будет иметь другую конфигурацию репликации, вам нужно будет изменить ее вручную после загрузки схемы. (ALTER KEYSPACE mykeyspace WITH REPLICATION = ...;)

Как только это будет сделано, вы можете начать массовую загрузку SSTables из ваших снимков пространства ключей в новый кластер:

sstableloader --nodes 10.0.0.1,10.0.0.2 -f /etc/cassandra/cassandra.yaml /path/to/mykeyspace/snapshot/

Обратите внимание, что это может занять некоторое время, если вам нужно загрузить много данных. После этого вы также должны выполнить полное восстановление нового кластера, чтобы убедиться, что реплики правильно распределены.

person Justin Cameron    schedule 07.03.2018