1

Я использую Кассандру с Докером. Дело в том, что у меня есть определение внешнего пространства ключей (с собственными собственными таблицами и хранилищем данных) на другом хосте, и я хотел импортировать данные из Cassandra этого хоста в докер Cassandra.

  • Версия Host Cassandra: [cqlsh 5.0.1 | Кассандра 3.11.2 | CQL spec 3.4.4 | Собственный протокол v4]
  • Моя версия Docker Cassandra: [cqlsh 5.0.1 | Кассандра 3.11.3 | CQL spec 3.4.4 | Собственный протокол v4]

Поэтому, поскольку я считаю, что это не проблема совместимости, я выполнил следующие действия:

  1. Определение экспортированного пространства ключей с использованием

    cqlsh -e 'describe mykeyspac' > mykeyspace.cql
    
  2. Отправился на внешний хост, а затем создал снимок данных пространства ключей, используя:

    scp myuser@host:/var/lib/cassandra/data/mykeyspace/home/myuserid/docker-data/mykeyspace
    

    (не обращайте внимания на этот код, дело в том, что я загрузил полную копию данных на свой локальный компьютер).

  3. Смонтируйте этот том в докер-кассандру в файле docker-compose.yaml

  4. Начал докер
  5. Подключен к Docker с помощью

    docker exec -it container-id bash
    

    и проверил, что том правильно установлен.

  6. Использование cqlsh создало новое пространство ключей с, без проблем.

Затем с помощью cqlsh проверил, правильно ли создано пространство ключей и есть ли таблицы и другие определения. Но выполнение простого запроса SELECT приводит к 0 строкам, но физически данные находятся под

/var/lib/cassandra/data/mykeyspace 

внутри докера Кассандры.
Итак, в чем здесь проблема?
Может кто-нибудь мне помочь?

0