将 Kafka Streams 数据连接到 Oracle Autonomous Database

您可以创建计算实例并安装 Kafka 以作为生成器发送消息,或者在 OCI 控制台中使用以下步骤。

  1. 登录到 OCI 控制台并转到市场
  2. 所有应用程序下,搜索 GoldenGate 流分析
  3. 单击启动堆栈
  4. 提供 VCN 详细信息,然后添加 SSH 公共密钥以稍后使用私有密钥登录到 GoldenGate 流分析实例。

    注意:

    此 GoldenGate 流分析实例安装了内置的示例 Kafka 流(生成器),如果您有自己的 Kafka 流,也可以使用该实例。

创建自治数据库

  1. 从左上角菜单中单击 Oracle Database ,然后单击 Autonomous Database
  2. 自治数据库主页中,单击创建 Autonomous Database
  3. 选择要在其中创建数据库的区间。
  4. 显示名称:输入可帮助您轻松标识 Autonomous Database 的用户友好说明或其他信息。
  5. 数据库名称:提供新 Autonomous Database 的名称。
  6. 选择工作量类型作为数据仓库。
  7. 选择部署类型作为无服务器。
  8. 选择数据库版本为 19c,ECPU 计数为 2,存储 (TB) 为 1。
  9. 创建管理员身份证明并输入密码。密码必须符合基于 Oracle Cloud 安全标准的强密码复杂性标准。有关密码复杂性的规则的详细信息,请参阅创建数据库用户
  10. 选择从任何位置安全访问网络访问。
  11. 将其余参数保留为默认参数,然后单击创建 Autonomous Database
此时将显示“Provisioning until the new Autonomous Database”。

创建用于存储 Kafka 消息的表

  1. 打开 SQLDeveloper,然后单击 + 图标以创建 Oracle 数据库连接
  2. 输入连接名称,提供数据库用户名和密码。
  3. 选择连接类型作为 Cloud Wallet,然后浏览 wallet.zip 文件并单击连接。应成功创建连接。
  4. 使用以下脚本创建一个示例表:
    CREATE TABLE "TEST"."SAMPLE"
            (    "FRUIT" VARCHAR2(50 BYTE)",
                 "TOTAL" VARCHAR2(50 BYTE)",
                 "COLOR" VARCHAR2(50 BYTE)"
            )

创建 Oracle Integration 3 实例

  1. 在 OCI 控制台中,单击 Developer Services(开发人员服务),然后在 Application Integration(应用程序集成)下单击 Integration(集成)
  2. 在“集成实例”主页中,单击创建实例
  3. 输入名称,选择版本作为 Oracle Integration 3 ,选择版本作为企业,选择配置作为生产,选择许可证类型作为订阅新的 Oracle Integration 实例
  4. 单击创建
创建实例后,单击服务控制台,这将转到新窗口。

在 Oracle Integration 3 中创建 Oracle Autonomous Data Warehouse 连接

  1. 在 Oracle Integration 实例中,单击汉堡包菜单,然后在设计下选择连接
  2. 单击创建,搜索 Oracle ADW 并选择。
  3. 输入有关此连接的名称标识符角色作为触发和调用关键字说明
  4. 属性下,展开可选属性并输入服务名
  5. 安全性下,选择 JDBC over SSL ,然后上载 Wallet.zip 文件。
  6. 输入创建数据库时提供的 Wallet 口令
  7. 以 admin 身份输入数据库服务用户名。
  8. 输入管理员用户的数据库服务密码。
  9. 选择访问类型作为公共网关
  10. 单击右上方的测试
  11. 显示成功消息后,单击保存

Kafka 实例中的关联代理组

您需要在安装 Kafka 流实例中运行的代理。

  1. 在 Oracle Integration 3 实例中,单击汉堡包菜单,然后在设计下选择代理
  2. 代理页中,单击创建
  3. 输入名称标识符说明,然后单击创建
  4. 创建代理后,单击 Download(下载),然后单击 Connectivity Agent(连接代理)
  5. 成功下载后,将 oic_conn_agent_installer.zip 复制到运行 Kafka 主题的 Kafka 实例并生成消息。在此解决方案手册示例中,它是 Oracle GoldenGate Stream Analytics 实例。
  6. 解压缩 oic_conn_agent_installer.zip
  7. 状态列下,单击 ... 图标,然后单击下载配置
  8. 复制 InstallerProfile.cfg 文件并将此文件复制到 Kafka 实例。
  9. 替换 Kafka 实例中的 InstallerProfile.cfg 文件。
  10. 替换 InstallerProfile.cfg 后,运行以下语句以使用以下命令在 Oracle GoldenGate 流分析实例或 Kafka 内部部署实例中启动代理:
    $ java -jar connectivityagent.jar
代理应成功启动,使其保持运行且不停止。有关详细信息,请参阅在 Oracle Integration 第 2 代中使用集成

在 Oracle Integration 3 中创建 Kafka 连接

  1. 在 Oracle Integration 3 实例中,单击汉堡包菜单,然后在设计下选择连接
  2. 单击创建,搜索 Apache Kafka 并选择。
  3. 输入有关此连接的名称标识符角色作为触发和调用关键字说明
  4. Properties 下,输入 Bootstrap Servers:instancename:9092。

    注意:

    在 Kafka 实例正在使用的 VCN 中,在安全列表下,您需要添加端口 9092 以允许流量。
  5. 安全性选择无安全策略
  6. 选择 Access type(访问类型)作为 Connectivity Agent(连接代理),然后单击 Associate Agent group(关联代理组)
  7. 选择该代理并单击使用
  8. 单击测试。你应该得到一个成功的消息。
  9. 单击保存

在 Oracle Integration 3 中创建 Kafka 与 Oracle Autonomous Data Warehouse 之间的集成

  1. 在 Oracle Integration 3 实例中,单击汉堡包菜单,然后在设计下选择集成
  2. 单击创建,然后在创建集成对话框中,选择应用程序
  3. KafkaToADW 身份输入 I ntegration name ,然后单击 Create

    注意:

    您将注意到为 Kafka 创建的两个连接和 Oracle Autonomous Data Warehouse 作为触发器。
  4. 选择 Kafka,系统将提示您输入触发器的名称,选择消息类型作为使用者,然后单击继续
  5. 从下拉列表中选择 Kafka 主题并指定使用者名称,将字段保留为默认值,然后单击继续
  6. 选择 Message Structure(消息结构)作为 Sample JSON Document(示例 JSON 文档),然后拖放同一 JSON 文件。
  7. 汇总窗口中,检查所有详细信息,然后单击完成
  8. 您会发现已创建的触发器下方有一个向下箭头。
  9. 单击 + 图标,然后在调用下选择 ADW,您将看到一个按名称 Map 列出的附加框。
  10. 将鼠标移到调用上,然后单击 ... 并选择编辑
  11. 为字段“要执行哪些操作”字段提供名称并选择“对表执行操作”?,选择插入并单击继续
  12. 选择表,单击继续,然后在“概要”页中单击完成
  13. 接下来,将鼠标移到映射框上,单击 ... 并选择编辑
  14. 在“映射”页中,连接目标字段。
  15. 单击验证,应成功验证。
  16. 在“集成”页面上,单击保存,这应该成功配置集成。
  17. 在“集成”主页上,将鼠标移到状态字段上,然后单击“电源”图标以激活。
  18. 您将看到一个名为激活集成的窗口,选择生产并单击激活。这将成功激活集成以使用 Kafka 消息。
  19. 启动 Kafka 主题,您将看到消息存储在数据库中。打开 SQLDeveloper,打开表并单击数据选项卡以查看消息。
  20. 如果您有自己的 Kafka 流,则可以开始以相同格式生成消息。
  21. 如果您使用的是 Oracle GoldenGate Stream Analytics,请通过 SSH 访问 Oracle GoldenGate Stream Analytics 实例并转到 /u01/app/osa/utilities/kafka-utils 文件夹。
  22. 您可以使用 sample.json 作为传入数据。使用此 json 格式:
    {"fruit": "Apple","total": "Large","color": "Red"}
  23. 执行以下命令以 Kafka 主题的形式循环数据馈送:
    opc@ggsanew kafka-utils]$ ./loop-file.sh ./sample.json | ./sampler.sh 1 1 | ./kafka.sh feed complex

检查数据

  1. 打开 Oracle Integration 控制台,单击可观察性,然后选择集成
  2. 您将获得“已接收”、“已处理”和“成功”数据的详细信息。
  3. 打开 Oracle SQL Developer 并检查表以确认数据是否可用。
    1. 单击 Oracle Connections 并选择 Oracle Autonomous Data Warehouse 数据库。
    2. 展开,选择“示例”表,您将看到数据。