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

ПРИМЕНИМО К: API Cassandra

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

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

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

Развертывание решения 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 в качестве источника для перемещения данных. Для подключения к Oracle потребуется драйвер Oracle JDBC. Для считывания изменений из исходной базы данных Oracle можно использовать утилиту LogMiner или API-интерфейсы XStream. Чтобы считывать, записывать или сохранять данные из базы данных Oracle, в подкаталогах Java в Striim должен присутствовать драйвер Oracle JDBC.

Загрузите драйвер ojdbc8.jar на локальный компьютер. Он будет установлен в кластере Striim позже.

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

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

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

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

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

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

  1. Теперь вернемся к Striim. Прежде чем взаимодействовать со Striim, установите ранее загруженный драйвер Oracle JDBC.

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

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

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

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

  4. Теперь откройте вкладку нового терминала, чтобы скопировать файл ojdbc8.jar, загруженный ранее. Чтобы скопировать Jar-файл с локального компьютера в папку tmp экземпляра Striim, выполняемого в Azure, используйте следующую команду SCP:

    cd <Directory_path_where_the_Jar_file_exists> 
    scp ojdbc8.jar striimdemo@striimdemo.westus.cloudapp.azure.com:/tmp
    

    Копирование Jar-файла с локального компьютера в Striim

  5. Затем вернитесь к окну, где SSH использовался для экземпляра Striim, и выполните вход как sudo. Переместите файл ojdbc8.jar из каталога /tmp в каталог lib экземпляра Striim с помощью следующих команд:

    sudo su
    cd /tmp
    mv ojdbc8.jar /opt/striim/lib
    chmod +x ojdbc8.jar
    

    Перемещение Jar-файла в папку lib

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

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

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

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

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

    Вход в Striim

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

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

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

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

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

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

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

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

    Источник Oracle CDC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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