Створіть / вставте дані вручну в Cassandra Docker


1

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

  • Версія Кассандри для господарів: [cqlsh 5.0.1 | Кассандра 3.11.2 | Специфікація CQL 3.4.4 | Рідний протокол v4]
  • Моя версія Docker Cassandra: [cqlsh 5.0.1 | Кассандра 3.11.3 | Специфікація CQL 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 

всередині Кассандри Докер.
Отже, у чому тут проблема?
Хтось може мені допомогти?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.