Перенос данных в Azure Cosmos DB для учетной записи Apache Cassandra с помощью Striim

ПРИМЕНИМО К: Кассандра

Образ Striim в Azure Marketplace обеспечивает непрерывное перемещение данных из хранилищ и баз данных в Azure в режиме реального времени. При перемещении данных можно выполнить встроенную денормализацию, преобразование данных, включить аналитику в режиме реального времени и сценарии создания отчетов с данными. С помощью Striim можно легко приступить к постоянному переносу корпоративных данных в Azure Cosmos DB для Apache Cassandra. Azure предоставляет платформу, упрощающую развертывание Striim и перенос данных в Azure Cosmos DB.

В этой статье показано, как использовать Striim для переноса данных из базы данных Oracle в учетную запись Azure Cosmos DB для Apache Cassandra.

Предварительные требования

Развертывание решения Striim из Marketplace

  1. Войдите на портал Azure.

  2. Выберите Создать ресурс и выполните поиск Striim в Azure Marketplace. Выберите первый вариант и нажмите кнопку Создать.

    Поиск элемента Striim в Marketplace

  3. Затем введите свойства конфигурации для экземпляра Striim. На виртуальной машине развертывается среда Striim. В области Основные сведения введите имя пользователя виртуальной машины, пароль виртуальной машины (этот пароль используется для подключения к виртуальной машине по протоколу SSH). Выберите свои параметры Подписка, Группа ресурсов и Сведения о расположении, где надо развернуть Striim. По завершении нажмите кнопку ОК.

    Настройка основных параметров для Striim

  4. В области Параметры кластера Striim выберите тип развертывания Striim и размер виртуальной машины.

    Параметр Значение Описание
    Тип развертывания Striim Автономный Striim может выполняться с типом развертывания Автономный или Кластер. В автономном режиме сервер Striim будет развернут на одной виртуальной машине. Размер виртуальных машин можно выбрать в зависимости от объема данных. В режиме кластера сервер Striim будет развернут на двух или более виртуальных машинах выбранного размера. Кластерные среды с более чем 2 узлами автоматически обеспечивают высокий уровень доступности и отработку отказа.

    В этом руководстве можно выбрать вариант "Автономный". Для размера виртуальной машины используйте значение по умолчанию "Standard_F4s".
    Имя кластера Striim <Striim_cluster_Name> Имя кластера Striim.
    Пароль кластера Striim <Striim_cluster_password> Пароль для кластера.

    После заполнения формы нажмите кнопку ОК, чтобы продолжить.

  5. В области Параметры доступа Striim укажите общедоступный IP-адрес (выберите значения по умолчанию), доменное имя для Striim, пароль администратора, который будет использоваться для входа в пользовательский интерфейс Striim. Настройте виртуальную сеть и подсеть (выберите значения по умолчанию). После внесения сведений нажмите кнопку ОК, чтобы продолжить.

    Параметры доступа Striim

  6. Azure проверит правильность развертывания. Проверка занимает несколько минут. По окончании проверки нажмите кнопку ОК.

  7. Наконец, ознакомьтесь с условиями использования и выберите Создать, чтобы создать экземпляр Striim.

Настройка базы данных-источника

В этом разделе будет выполнена настройка базы данных Oracle в качестве источника для перемещения данных. Сервер Striim поставляется с драйвером Oracle JDBC, который используется для подключения к Oracle. Для считывания изменений из исходной базы данных Oracle можно использовать утилиту LogMiner или API-интерфейсы XStream. Чтобы считывать, записывать или сохранять данные из базы данных Oracle, в подкаталогах Java в Striim присутствует драйвер Oracle JDBC.

Настройка целевой базы данных

В этом разделе вы настроите учетную запись Azure Cosmos DB для Apache Cassandra в качестве целевого объекта для перемещения данных.

  1. Создайте учетную запись Azure Cosmos DB для Apache Cassandra с помощью портал Azure.

  2. Перейдите в область Data Explorer учетной записи Azure Cosmos DB. Выберите Создать таблицу, чтобы создать новый контейнер. Предположим, что выполняется перенос продуктов и данных заказов из базы данных Oracle в Azure Cosmos DB. Создайте новое пространство ключей с именем StriimDemo и контейнером "Заказы". Подготовьте контейнер с 1000 ЕЗ (единицами запроса) (в этом примере используется 1000 ЕЗ, однако следует использовать оценку пропускной способности для вашей рабочей нагрузки) и /ORDER_ID в качестве первичного ключа. Эти значения будут отличаться в зависимости от исходных данных.

    Создание API для учетной записи Cassandra

Настройка потока данных из Oracle в Azure Cosmos DB

  1. Перейдите к экземпляру Striim, развернутому на портале Azure. Нажмите кнопку Подключить в верхней строке меню и на вкладке SSH скопируйте URL-адрес в поле Вход с помощью локальной учетной записи виртуальной машины.

    Получение URL-адреса SSH

  2. Откройте новое окно терминала и выполните команду SSH, скопированную с портала Azure. В этой статье используется терминал в macOS. Аналогичные инструкции можно выполнить с помощью клиента SSH на компьютере с Windows. При появлении запроса введите да, чтобы продолжить работу, и введите пароль, заданный для виртуальной машины на предыдущем этапе.

    Подключение к виртуальной машине Striim

  3. В том же окне терминала перезапустите сервер Striim, выполнив следующие команды:

    systemctl stop striim-node
    systemctl stop striim-dbms
    systemctl start striim-dbms
    systemctl start striim-node
    
  4. Запуск Striim займет около минуты. Если надо просмотреть состояние, выполните следующую команду:

    tail -f /opt/striim/logs/striim-node.log
    
  5. Теперь вернитесь в Azure и скопируйте общедоступный IP-адрес виртуальной машины Striim.

    Копирование IP-адреса виртуальной машины Striim

  6. Чтобы перейти к веб-интерфейсу Striim, откройте новую вкладку в браузере и скопируйте общедоступный IP-адрес, после которого указано 9080. Войдите, используя имя администратора и пароль администратора, указанный на портале Azure.

    Вход в Striim

  7. Теперь вы находитесь на домашней странице Striim. Здесь представлены три разные области: Панели мониторинга, Приложения и SourcePreview (Просмотр исходных данных). В области "Панели мониторинга" можно перемещать данные в режиме реального времени и визуализировать их. В области "Приложения" находятся конвейеры потоковых данных или потоки данных. В правой части страницы находится область SourcePreview, где можно просматривать данные перед их перемещением.

  8. Выберите область Приложения, и мы рассмотрим ее. Имеется множество примеров приложений, которые можно использовать для ознакомления с Striim, однако в этой статье вы создадите собственный пример. Нажмите кнопку Добавить приложение в правом верхнем углу.

    Добавление приложения Striim

  9. Предлагается несколько способов создания приложений Striim. Для этого сценария выберите Запуск с нуля.

    Запуск приложения с нуля

  10. Присвойте приложению понятное имя, например oraToCosmosDB, и выберите Сохранить.

    Создание приложения

  11. Вы попадаете в конструктор потоков, где можно перетаскивать соединители блоков для создания приложений потоковой передачи. В строке поиска введите Oracle, перетащите источник Oracle CDC на холст приложения.

    Источник Oracle CDC

  12. Введите свойства конфигурации источника для экземпляра Oracle. Имя источника — это просто соглашение об именовании для приложения Striim. Вы можете использовать имя, например src_onPremOracle. Введите также другие сведения, такие как тип адаптера, URL-адрес подключения, имя пользователя, пароль, имя таблицы. Чтобы продолжить, нажмите кнопку Сохранить.

    Настройка параметров источника

  13. Теперь нажмите на значок потоковой передачи, чтобы подключить целевой экземпляр Azure Cosmos DB.

    Подключение к целевому устройству

  14. Перед настройкой целевого объекта убедитесь, что вы добавили корневой сертификат Baltimore в среду Java Striim.

  15. Введите свойства конфигурации целевого экземпляра Azure Cosmos DB и нажмите кнопку Сохранить, чтобы продолжить. Ниже приведены ключевые параметры, которые следует отметить:

    • Адаптер — используйте DatabaseWriter. При записи в Azure Cosmos DB для Apache Cassandra требуется DatabaseWriter. Драйвер Cassandra 3.6.0 поставляется в комплекте со Striim. Если DatabaseWriter превышает количество ЕЗ, подготовленных в контейнере Azure Cosmos DB, приложение завершится сбоем.

    • URL-адрес подключения — укажите URL-адрес подключения JDBC Azure Cosmos DB. Он имеет следующий формат: jdbc:cassandra://<contactpoint>:10350/<databaseName>?SSL=true.

    • Имя пользователя — укажите имя учетной записи Azure Cosmos DB.

    • Пароль . Укажите первичный ключ учетной записи Azure Cosmos DB.

    • Таблицы — целевые таблицы должны иметь первичные ключи, а первичные ключи не могут быть обновлены.

    Снимок экрана: настраиваемые свойства целевого объекта.

    Настройка свойств целевого объекта

  16. Теперь выполним запуск приложения Striim. В верхней строке меню выберите Создать, а затем — Развернуть приложение. В окне развертывания можно указать, следует ли запускать определенные части приложения в определенных частях топологии развертывания. Поскольку мы работаем в простой топологии развертывания с помощью Azure, будем использовать параметр по умолчанию.

    Развертывание приложения

  17. Теперь перейдем к предварительному просмотру потока для просмотра данных через Striim. Щелкните значок волны и значок глаза рядом с ним. После развертывания можно просмотреть поток передаваемых данных. Щелкните значок волны и значок глаза рядом с ним. Нажмите элемент Развернуто в верхней строке меню и выберите Запустить приложение.

    Запуск приложения

  18. Striim будет выбирать только новые изменения в базе данных с помощью средства чтения CDC (отслеживание измененных данных) . При наличии данных, передаваемых через исходные таблицы, вы это увидите. Однако этот источник не подключен к какому-либо приложению, поскольку это образец таблицы. При использовании генератора образцов данных можно вставить цепочку событий в базу данных Oracle.

  19. Вы увидите, что данные передаются через платформу Striim. Striim также собирает все метаданные, связанные с таблицей, что позволяет отслеживать данные и контролировать их попадание в требуемый целевой объект.

    Настройка конвейера CDC

  20. Наконец, давайте войдем в Azure и перейдем к своей учетной записи Azure Cosmos DB. Обновите обозреватель данных, и вы увидите, что данные получены.

Решение Striim в Azure позволяет непрерывно переносить данные в Azure Cosmos DB из различных источников, таких как Oracle, Cassandra, MongoDB и многих других. Дополнительные сведения см. на веб-сайте Striim. Загрузите бесплатную 30-дневную пробную версию Striim и отправляйте запросы на поддержку, если возникают проблемы при настройке пути миграции с помощью Striim.

Дальнейшие действия