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

В настоящее время я сделал снимок, используяnodetool snapshotкоманда, и когда я пытаюсь восстановить данные в док-контейнере cassandra, остановив его и выполнивnodetool repairЯ получаю следующее сообщение об ошибке для некоторых таблиц.

       partitioner org.apache.cassandra.dht.LocalPartitioner does not 
 match system partitioner org.apache.cassandra.dht.Murmur3Partitioner. 
 Note that the default partitioner starting with Cassandra 1.2 is Murmur3Partitioner, 
 so you will need to edit that to match your old partitioner if upgrading.

Версия, которую я использую,docker cassandra: 4.0.1.Теперь я ищу помощь относительно этой ошибки.

более подробные версии:

      INFO  [main] 2022-07-07 11:54:10,806 StorageService.java:734 - Cassandra version: 4.0.1
INFO  [main] 2022-07-07 11:54:10,806 StorageService.java:735 - CQL version: 3.4.5
INFO  [main] 2022-07-07 11:54:10,806 StorageService.java:736 - Native protocol supported versions: 3/v3, 4/v4, 5/v5, 6/v6-beta (default: 5/v5)

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

Поэтому, когда я остановил контейнер и скопировал содержащиеся в нем файлы индекса и таблицы в ту же самую таблицу, которую я создал, я запускаюnodetool refreshКоманда перестала работать и выдала вышеуказанную ошибку.

команды, которые я выполнил:

      docker stop cassandra
docker cp backup_table cassandra:/var/lib/cassandra/data/{keyspace_name}/{table_name}
docker start cassandra
docker exec cassandra nodetool refresh ks ts

аналогичную проблему я видел: https://issues.apache.org/jira/browse/CASSANDRA-9654https://lists.apache.org/thread/dnpbytgl59h3q0x0pgw8yp3thlmzm3yr

1 ответ

Вам нужно будет предоставить немного больше информации, чтобы мы могли вам помочь. В частности, хорошим началом было бы следующее:

  • примерная схема таблицы
  • действия по воспроизведению проблемы

Невозможно запуститьnodetoolкоманды, если экземпляр Cassandra остановлен, как вы говорите здесь:

... когда я пытаюсь восстановить данные в док-контейнере cassandra, остановив его и выполнивnodetool repair...

и вы не выполняете восстановление с помощью команды, поэтому важно, чтобы вы предоставили подробную информацию о том, как воспроизвести проблему. Ваше здоровье!

Другие вопросы по тегам