как перенести данные Cassandra с сервера windows на сервер LINUX для Cassandra? - PullRequest
0 голосов
/ 06 мая 2020

Я не уверен, что моя установка Cassandra на основе windows будет работать так же, как на узлах Cassandra на основе Linux.

Мои данные находятся на windows Cassandra-DB и планирую перейти на LINUX сервер, чтобы использовать ELASSANDRA сейчас.

Можно ли скопировать те же файлы данных из Win-OS в Linux -OS в те же каталоги папок Cassandra? Поскольку оба имеют разную файловую систему, я сомневаюсь, что это когда-либо сработает.

Если нет, то каков обходной путь для переноса всех данных?

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Проблема с файлами больше связана с версией Cassandra, чем с ОС. Реализация Cassandra в Java делает базовую ОС несколько (хотя и не полностью) несущественной.

Каждая версия Cassandra имеет специальный формат c для записи файлов SSTable. Пока версия Cassandra на всех серверах одинакова, копирование файлов должно работать.

В противном случае, если серверы Windows и Linux могут видеть друг друга на сети, самый простой способ миграции - это присоединить сервер Linux к «кластеру» на Windows. Просто дайте серверу Linux IP-адрес машины Windows в качестве начального значения, установите cluster_name таким же, и он должен присоединиться. Затем настройте репликацию пространства ключей и запустите восстановление.

0 голосов
/ 06 мая 2020

Вы не должны ремонтировать, а передавать данные из существующего D C с помощью перестроения nodetool - [source_dc_name]:

1-Просто запустите все узлы в вашем новом D C с auto_ bootstrap: false в conf / cassandra.yaml

2-Run nodetool rebuild на этих узлах

3-Remove auto_ bootstrap: false в conf / cassandra.yaml

Если вы запустите Elassandra в своем новом D C, индексы Elasticsearch будут перестроены во время потоковой передачи или восстановления, так что получайте удовольствие!

...