你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Striim 将数据迁移到 Azure Cosmos DB for NoSQL 帐户

适用范围: NoSQL

通过 Azure 商城中的 Striim 映像,可以从数据仓库和数据库向 Azure 持续实时移动数据。 在移动数据时,可以执行内联的非规范化、数据转换,启用实时分析,以及数据报告方案。 可以轻松地开始使用 Striim 将企业数据持续移动到 Azure Cosmos DB for NoSQL。 Azure 提供一种商城产品,可用于轻松部署 Striim 并将数据迁移到 Azure Cosmos DB。

本文介绍如何使用 Striim 将数据从 Oracle 数据库迁移到 Azure Cosmos DB for NoSQL 帐户。

先决条件

  • 如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

  • 在本地运行的 Oracle 数据库,其中包含一些数据。

部署 Striim 商城解决方案

  1. 登录 Azure 门户

  2. 选择“创建资源”,并在 Azure 商城中搜索“Striim” 。 选择第一个选项,然后选择“创建”。

    查找 Striim 商城项

  3. 接下来,输入 Striim 实例的配置属性。 Striim 环境部署在虚拟机中。 在“基本信息”窗格中,输入“VM 用户名”、“VM 密码”(此密码用于通过 SSH 连接到 VM) 。 选择要在其中部署 Striim 的“订阅”、“资源组”和“位置详细信息” 。 在完成后,选择“确定”。

    配置 Striim 的基本设置

  4. 在“Striim 群集设置”窗格中,选择 Striim 部署的类型和虚拟机大小。

    设置 说明
    Striim 部署类型 独立 Striim 可以在“独立”或“群集”部署类型中运行 。 独立模式将在一个虚拟机上部署 Striim 服务器,并且可以根据数据量来选择 VM 的大小。 群集模式将在具有所选大小的两个或多个 VM 上部署 Striim 服务器。 具有 2 个以上节点的群集环境提供自动高可用性和故障转移。

    在本教程中,可以选择“独立”选项。 使用默认的“Standard_F4s”大小 VM。
    Striim 群集的名称 <Striim_cluster_Name> Striim 群集的名称。
    Striim 群集密码 <Striim_cluster_password> 群集的密码。

    在填写表单后,请选择“确定”以继续。

  5. 在“Striim 访问设置”窗格中,配置要用于登录到 Striim UI 的“公共 IP 地址”(选择默认值)、“Striim 的域名”、“管理员密码” 。 配置 VNET 和子网(选择默认值)。 在填写详细信息后,选择“确定”以继续。

    Striim 访问设置

  6. Azure 将会验证部署并确保一切正常;完成验证需要几分钟时间。 在完成验证后,选择“确定”。

  7. 最后,查看使用条款并选择“创建”来创建 Striim 实例。

配置源数据库

在本部分中,将配置 Oracle 数据库作为源来进行数据移动。 Striim 服务器附带了用于连接到 Oracle 的 Oracle JDBC 驱动程序。 要从源 Oracle 数据库读取更改,可以使用 LogMinerXStream API。 Striim 的 Java 类路径中存在 Oracle JDBC 驱动程序,用于在 Oracle 数据库中读取、写入或持续保存数据。

配置目标数据库

在本部分中,将配置 Azure Cosmos DB for NoSQL 帐户作为目标来进行数据移动。

  1. 使用 Azure 门户创建 Azure Cosmos DB for NoSQL 帐户

  2. 在 Azure Cosmos DB 帐户中导航到“数据资源管理器”窗格。 选择“新建容器”来新建一个容器。 假定要将“产品”和“订单”数据从 Oracle 数据库迁移到 Azure Cosmos DB 。 使用名为“订单”的容器新建一个名为“StriimDemo”的数据库 。 将该容器预配为使用 1000 个 RU(此示例使用 1000 个 RU,但你应该使用针对自己工作负载估算的吞吐量),并预配 /ORDER_ID 作为分区键 。 这些值将会因源数据而异。

    创建 API for NoSQL 帐户

配置 Oracle 到 Azure Cosmos DB 的数据流

  1. 导航到在 Azure 门户中部署的 Striim 实例。 选择上部菜单栏中的“连接”按钮,然后从“SSH”选项卡中,复制“使用 VM 本地帐户登录”字段中的 URL 。

    获取 SSH URL

  2. 打开一个新终端窗口,并运行从 Azure 门户复制的 SSH 命令。 本文使用 MacOS 中的终端,你可以在 Windows 计算机上使用 SSH 客户端,遵循类似的说明操作。 在出现提示时,键入“yes”以继续,并输入在上一步中为虚拟机设置的密码 。

    连接到 Striim VM

  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 并复制 Striim VM 的公共 IP 地址。

    复制 Striim VM IP 地址

  6. 若要导航到 Striim 的 Web UI,请在浏览器中打开新标签页,然后复制公共 IP,后面加上:9080。 使用用户名“admin”和在 Azure 门户中指定的管理员密码进行登录。

    登录到 Striim

  7. 现在,将打开 Striim 的主页。 主页有三个不同的窗格-“仪表板”、“应用”和“SourcePreview” 。 “仪表板”窗格用于实时移动数据并将数据可视化。 “应用”窗格包含流式处理数据的管道,也叫数据流。 页面右侧是“SourcePreview”,用于在移动数据之前先预览数据。

  8. 请选择“应用”窗格,目前我们将重点介绍此窗格。 这里有多种示例应用,可用于了解 Striim,但在本文中将创建自己的应用。 选择右上角的“添加应用”按钮。

    添加 Striim 应用

  9. 创建 Striim 应用程序有几种不同方法。 选择“从模板开始”将使用现有模板开始创建。

    使用模板开始创建应用

  10. 在“搜索模板”字段中,键入“Cosmos”并选择“目标:Azure Cosmos DB”,然后选择“Oracle CDC 到 Azure Cosmos DB”。

    选择“Oracle CDC 到 Azure Cosmos DB”

  11. 在下一页中,为应用程序命名。 可以提供 oraToCosmosDB 等名称,然后选择“保存”。

  12. 接下来,输入源 Oracle 实例的源配置。 为“源名称”输入一个值。 源名称只是 Striim 应用程序的命名约定,可以使用 src_onPremOracle 等名称。 为其余源参数(包括“URL”、“用户名”、“密码”)输入值 ,然后选择“LogMiner”作为读取器从 Oracle 读取数据。 选择“下一步”继续操作。

    配置源参数

  13. Striim 将检查环境,确保可以连接源 Oracle 实例、拥有正确的权限,并且该 CDC 配置正确。 验证所有值后,选择“下一步”。

    验证源参数

  14. 从要迁移的 Oracle 数据库中选择表。 例如,选择 Orders 表,然后选择“下一步”。

    选择源表

  15. 选择源表后,可以执行映射和筛选等更复杂的操作。 在这种情况下,只需在 Azure Cosmos DB 中创建源表的副本。 因此,选择“下一步”以配置目标

  16. 现在,让我们来配置目标:

    • 目标名称 - 为目标提供一个友好名称。
    • 输入源 - 从下拉列表中,选择在源 Oracle 配置中创建的源输入流。
    • 集合 - 输入目标 Azure Cosmos DB 配置属性。 集合语法为 SourceSchema.SourceTable, TargetDatabase.TargetContainer。 在本例中,值为“SYSTEM.ORDERS, StriimDemo.Orders”。
    • AccessKey - Azure Cosmos DB 帐户的 PrimaryKey。
    • ServiceEndpoint – Azure Cosmos DB 帐户的 URI,位于 Azure 门户的“关键值”部分。

    依次选择“保存”和“下一步” 。

    配置目标参数

  17. 接下来,将打开流设计器,从中可以直接拖放连接器来创建流式处理应用程序。 此时无需对流进行任何修改。 接下来,通过选择“部署应用”按钮来部署应用程序。

    部署应用

  18. 在部署窗口中,可以指定是否要在部署拓扑的特定部分上运行应用程序的某些部分。 由于我们通过 Azure 在简单部署拓扑中运行,因此我们将使用默认选项。

    使用默认选项

  19. 在部署后,可以预览该流,以查看流过的数据。 选择波形图标和它旁边的眼球图标。 选择顶部菜单栏中的“已部署”按钮,然后选择“启动应用” 。

    启动应用

  20. 通过使用 CDC(变更数据捕获)读取器,Striim 将只会选取数据库的新更改。 如果有数据流过源表,就会看到这些数据。 但由于这是演示表,源没有连接到任何应用程序。 如果使用示例数据生成器,可将事件链插入 Oracle 数据库。

  21. 你将会看到数据流过 Striim 平台。 Striim 还会选取所有与该表关联的元数据,它们对于监视数据和确保数据登陆正确目标非常有用。

    配置 CDC 管道

  22. 最后,让我们登录 Azure 并导航到你的 Azure Cosmos DB 帐户。 刷新数据资源管理器,就可以看到数据已经到达。

    在 Azure 中验证迁移的数据

通过使用 Azure 中的 Striim 解决方案,可以持续从各种不同的源(例如 Oracle、Cassandra、MongoDB 等)向 Azure Cosmos DB 迁移数据。 有关详细信息,请访问 Striim 网站下载 Striim 30 天免费试用版;如果在使用 Striim 设置迁移路径时遇到任何问题,请提交支持请求

后续步骤