Если вы можете настроить целевой кластер с точно такой же топологией, что и исходный кластер, самый быстрый способ может заключаться в простом копировании файлов данных из источника в целевой кластер, поскольку это позволяет избежать накладных расходов на обработку Данные для перераспределения его на разные узлы. Чтобы это работало, целевой кластер должен иметь одинаковое количество узлов, одинаковую конфигурацию стойки и даже одинаковые токены, назначенные каждому узлу.
Чтобы получить токены для исходного узла, вы можете запустить nodetool info -T | grep Token | awk '{print $3}' | tr '\n' , | sed 's/,$/\n/'
. Затем вы можете скопировать разделенный запятыми список токенов из вывода и вставить его в параметр initial_token
в cassandra.yaml целевого узла. После запуска узла проверьте его токены, используя nodetool info -T
, чтобы убедиться, что он имеет правильные токены. Повторите эти шаги для каждого узла в целевом кластере.
После того, как все ваши целевые узлы настроены с точно такими же токенами, D C и стойками, что и исходный кластер, сделайте снимок нужных таблиц в исходном кластере и скопируйте снимки в каталоги данных соответствующего узла на целевом кластере. DataStax OpsCenter может автоматизировать процесс резервного копирования и восстановления данных и будет использовать прямое копирование для кластеров с одинаковой топологией. Похоже, что Медуза может сделать это тоже, хотя я не использовал этот инструмент раньше.