Переход с Cassandra с открытым исходным кодом на Datastax Enterprise

У нас есть текущий производственный кластер, работающий на Cassandra 2.2.4

[cqlsh 5.0.1 | Cassandra 2.2.4 | CQL spec 3.3.1 | Native protocol v4]

Мы хотим перенести эту настройку на новый кластер с DSE 5.0, не нарушая нашего текущего производства.

Каковы шаги, чтобы сделать это с нулевым/минимальным временем простоя?

  1. Мы хотим иметь это как отдельный кластер.
  2. Можем ли мы использовать sstableloader из исходного кластера в целевой и выполнить sstableupgrade в целевом?
  3. Должны ли мы остановить уплотнение существующего кластера при запуске sstabloader?
  4. Как перенести вновь созданные sstables из-за производственного трафика?
  5. Должны ли мы сделать приложение для записи в оба кластера, но только для чтения из старого кластера, пока новый кластер не будет синхронизирован со старым кластером?
  6. Должны ли мы запускать sstableloader из каталога старых данных или из каталога моментальных снимков. В чем разница между двумя подходами?

person Santhavathi Sivakumaran    schedule 21.11.2016    source источник


Ответы (1)


  1. Настройте новый кластер с помощью DSE 5.0.
  2. Начните писать в оба ваших кластера
  3. Переместите ваши SSTables из старого кластера в новый кластер.
  4. Используйте sstableloader из нового кластера для таблиц SSTable, которые вы только что скопировали в новый кластер.

Должны ли мы запускать sstableloader из каталога старых данных или из каталога снимков. В чем разница между двумя подходами?

Зависит от того, что моментальные снимки — это именно то, что является моментальным снимком определенного состояния, в котором находился ваш кластер в какой-то момент времени. Если вам нужны самые свежие данные, используйте таблицы SSTable, находящиеся в настоящее время в вашем каталоге данных.

person peytoncas    schedule 21.11.2016
comment
1. Версия Cassandra в текущем кластере — 2.2.4, тогда как с DSE 5.0 новый кластер будет иметь Cassandra 3.0. Обновление стабильно не требуется? - person Santhavathi Sivakumaran; 21.11.2016
comment
2. Если старый и новый кластер ничем не отличаются. узлов/коэффициент репликации, как мне перейти от старого к новому. Какие узлы выбрать для scp от и до? - person Santhavathi Sivakumaran; 21.11.2016
comment
1. Нет, sstableloader выполняет потоковую передачу данных, поэтому данные воспроизводятся 2. Так же, как и в случае 1, данные передаются повторно, а диапазон их токенов определяется новым кластером. - person peytoncas; 21.11.2016
comment
Если я перенесу sstables в новый кластер и вызову оттуда sstableloader, он создаст другой набор sstables на основе конфигурации нового кластера. Должен ли я затем удалить sstables, которые я изначально заметил? Из скольких узлов в старом кластере следует выполнить scp, это число_узлов/коэффициент_репликации старого кластера? - person Santhavathi Sivakumaran; 23.11.2016
comment
Да, по сути, вы просто передаете данные из своих старых SSTables обратно в Cassandra. Вы хотели бы использовать SCP для всех ваших SSTables, поскольку на самом деле нет способа узнать, какие данные находятся в каких SSTables. - person peytoncas; 23.11.2016
comment
Я предполагаю, что нам нужно сделать некоторые дополнительные шаги, если нам нужно запустить sstableloader на том же узле, где мы хотим загрузить данные. Я не могу следить за этим datastax.com/dev/blog/bulk-loading. Можете ли вы пл. дайте шаги для этого. - person Santhavathi Sivakumaran; 29.11.2016
comment
В имени центра обработки данных в пространстве ключей создания была ошибка, поэтому потоковая передача не удалась. Он также не выдавал никаких ошибок, и поэтому я был в неведении. Теперь проблема решена. - person Santhavathi Sivakumaran; 30.11.2016