在中将Oozie与远程数据库一起使用 Amazon RDS - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中将Oozie与远程数据库一起使用 Amazon RDS

默认情况下,Oozie用户信息和查询历史记录存储在本地 MySQL 管理节点上的数据库。或者,您可以使用存储在中的配置创建一个或多个启用Oozie的群集 Amazon S3 和 MySQL 数据库 Amazon Relational Database Service(Amazon RDS)。这允许您保留Oozie创建的用户信息和查询历史记录,而不保留您的 Amazon EMR 群集运行。我们建议使用 Amazon S3 服务器端加密来存储配置文件。

第一个, 为Oozie创建远程数据库。

要创建外部 MySQL 数据库

  1. 通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. C胡糖 启动数据库实例.

  3. 选择 MySQL 和 然后选择 选择.

  4. 保留默认选择 多AZ部署和提供的IOPS存储 和c胡糖 下一步.

  5. 将实例规格保留为默认值,指定设置和 选择 下一步.

  6. 在配置高级设置页面上,选择 正确的安全组和数据库名称s. 您所使用的授权组必须至少允许 入站 端口3306的TCP访问来自群集的管理节点。如果您此时尚未创建群集,则可以允许所有主机连接到端口3306,并在启动群集后调整安全组。C胡糖 启动数据库实例.

  7. 从RDS仪表板中,选择 实例 并选择您刚刚创建的实例。当您的数据库可用时,记下数据库名称、用户名、密码和 RDS 实例主机名。您将在创建和配置集群时用到此信息。

要指定外部 MySQL 数据库,当使用 AWS CLI

要指定外部 MySQL 数据库,当使用 AWS CLI,使用您在创建RDS实例进行配置时注意的信息 oozie-site 具有配置对象.

注意

您可以创建使用同一个外部数据库的多个群集,但是每个群集将共享查询历史记录和用户信息。

  • 使用 AWS CLI,使用您创建的外部数据库创建安装了Oozie的群集,并引用具有Oozie配置分类的配置文件,该配置文件用于指定数据库属性。以下示例在安装Oozie时创建群集,引用中的配置文件 Amazon S3, myConfig.json,指定数据库配置。

    注意

    包含了 Linux 行继续符 (\) 以提高可读性。可以在 Linux 命令中删除或使用它们。对于 Windows,请删除它们或将其替换为脱字号 (^)。

    aws emr create-cluster --release-label emr-5.31.0 --applications Name=Oozie Name=Spark Name=Hive \ --instance-type m5.xlarge --instance-count 3 \ --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json --use-default-roles

    示例内容 myConfig.json 文件如下所示。Replace JDBC URL, username,和 password 使用RDS实例的JDBCURL、用户名和密码。

    重要

    JDBCURL必须包含数据库名称作为后缀。例如,jdbc:mysql://oozie-external-db.xxxxxxxxxx.us-east-1.rds.amazonaws.com:3306/db名称.

    [{ "Classification": "oozie-site", "Properties": { "oozie.service.JPAService.jdbc.driver": "com.mysql.jdbc.Driver", "oozie.service.JPAService.jdbc.url": "JDBC URL", "oozie.service.JPAService.jdbc.username": "username", "oozie.service.JPAService.jdbc.password": "password" }, "Configurations": [] }]