Amazon EMR
Amazon EMR 版本指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

将 Hue 与 Amazon RDS 中的远程数据库一起使用

默认情况下,Hue 用户信息和查询历史记录存储在主节点上的本地 MySQL 数据库中。但是,您可以使用 Amazon S3 中存储的配置和 Amazon RDS 中的 MySQL 数据库创建一个或多个启用了 Hue 的集群。这样,无需使 Amazon EMR 集群保持运行,您就可以保存 Hue 创建的用户信息和查询历史记录。我们建议使用 Amazon S3 服务器端加密来存储配置文件。

首先为 Hue 创建远程数据库。

创建外部 MySQL 数据库

  1. Open the Amazon RDS console at https://console.amazonaws.cn/rds/.

  2. 单击 Launch a DB Instance (启动数据库实例)

  3. 选择 MySQL,单击 Select (选择)

  4. 保留 Multi-AZ Deployment and Provisioned IOPS Storage (多可用区部署和预配置 IOPS 存储) 的默认选择,单击 Next (下一步)

  5. 将“Instance Specifications (实例规格)”保留为其默认值,指定设置,然后单击 Next (下一步)

  6. 在“Configure Advanced Settings (配置高级设置)”页面上,选择合适的安全组和数据库名称。您使用的安全组必须至少允许从集群主节点中对端口 3306 进行入口 TCP 访问。如果此时您尚未创建集群,则可以允许所有主机连接到端口 3306 并在启动集群之后调整安全组。单击 Launch DB Instance (启动数据库实例)

  7. 在 RDS 控制面板中,单击 Instances (实例),然后选择您刚刚创建的实例。当您的数据库可用时,您可以打开文本编辑器并复制以下信息:数据库名称、用户名称、密码和 RDS 实例主机名称。创建和配置集群时需要用到这些信息。

使用 AWS CLI 在启动集群时为 Hue 指定外部 MySQL 数据库

要在使用 AWS CLI 启动集群时为 Hue 指定外部 MySQL 数据库,请在创建 RDS 实例时使用所记录的信息,以使用配置对象配置 hue.ini

注意

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

  • 使用您创建的外部数据库创建安装了 Hue 的集群:

    aws emr create-cluster --release-label emr-5.4.0 --applications Name=Hue Name=Spark Name=Hive \ --instance-type m3.xlarge --instance-count 2 --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json

    注意

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

    myConfig.json

    [{ "Classification": "hue-ini", "Properties": {}, "Configurations": [ { "Classification": "desktop", "Properties": {}, "Configurations": [ { "Classification": "database", "Properties": { "name": "dbname", "user": "username", "password": "password", "host": "hueinstance.c3b8apyyjyzi.us-east-1.rds.amazonaws.com", "port": "3306", "engine": "mysql" }, "Configurations": [] } ] } ] }]

注意

如果您之前未创建默认 EMR 服务角色和 EC2 实例配置文件,请先键入 aws emr create-default-roles 创建它们,然后再键入 create-cluster 子命令。

有关如何在 AWS CLI 中使用 Amazon EMR 命令的更多信息,请参阅 http://docs.amazonaws.cn/cli/latest/reference/emr

故障排除

发生 Amazon RDS 故障转移时

由于 Hue 数据库实例无响应或正在进行故障转移,用户可能会在运行查询时遇到延迟。以下是与此问题有关的一些情况和指导:

  • 如果登录 Amazon RDS 控制台,则可以搜索故障转移事件。例如,要了解故障转移是否正在进行或已发生,请查找相关事件 (如“Multi-AZ instance failover started (多可用区实例故障转移已开始)”和“Multi-AZ instance failover completed (多可用区实例故障转移已完成)”)。

  • RDS 实例完成故障转移需要大约 30 秒。

  • 如果您在 Hue 中遇到查询响应时间长于正常时间,请尝试重新执行查询。

本页内容: