本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 中将 Hue 与远程数据库配合使用 RDS
默认情况下,Hue 用户信息和查询历史记录存储在主节点的本地 “我的SQL数据库” 中。或者,您可以使用存储在 Amazon S3 中的配置和 Amazon Relational Database Service (Amazon) 中的 “我的SQL数据库” 来创建一个或多个支持 Hue 的集群。RDS这样,您就可以在不保持 Amazon EMR 集群运行的情况下保存 Hue 创建的用户信息和查询历史记录。我们建议使用 Amazon S3 服务器端加密来存储配置文件。
首先为 Hue 创建远程数据库。
创建外部 “我的SQL数据库”
-
打开 Amazon RDS 控制台,网址为https://console.aws.amazon.com/rds/
。 -
点击 Launch a DB Instance (启动数据库实例)。
-
选择 “我的”SQL,然后单击 “选择”。
-
保留默认选择 “多可用区部署和预配置IOPS存储”,然后单击 “下一步”。
-
保留 Instance Specifications (实例规格) 的默认值,指定设置,然后单击 Next (下一步)。
-
在 Configure Advanced Settings (配置高级设置) 页面上,选择相应的安全组和数据库名称。您使用的安全组必须至少允许从集群的主节点对端口 3306 进行TCP入口访问。如果此时您尚未创建集群,则可以允许所有主机连接到端口 3306 并在启动集群之后调整安全组。单击 Launch DB Instance (启动数据库实例)。
-
在RDS控制面板中,选择实例,然后选择您刚刚创建的实例。当您的数据库可用时,记下数据库名称、用户名、密码和RDS实例主机名。您将在创建和配置集群时用到此信息。
要在启动集群时使用 Hue 指定外部 “我的SQL数据库” Amazon CLI
要在使用启动集群时为 Hue 指定外部 My SQL 数据库 Amazon CLI,请使用您在创建RDS实例时记下的信息来配置hue.ini
配置配置对象
注意
您可以创建使用同一个外部数据库的多个集群,但是每个集群将共享查询历史记录和用户信息。
-
使用 Amazon CLI,创建安装了 Hue 的集群,使用您创建的外部数据库,并引用具有指定数据库属性的 Hue 配置分类的配置文件。以下示例创建一个安装了 Hue 的集群,引用了 Amazon S3 中的配置文件
myConfig.json
,该文件指定数据库配置。注意
为了便于读取,包含 Linux 行继续符(\)。它们可以通过 Linux 命令删除或使用。对于 Windows,请将它们删除或替换为脱字号(^)。
aws emr create-cluster --release-label
emr-7.3.0
--applications Name=Hue Name=Spark Name=Hive \ --instance-typem5.xlarge
--instance-count3
\ --configurationshttps://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json
--use-default-roles下面显示的是
myConfig.json
文件的内容示例。Replace(替换)dbname
,username
,password
,以及RDS instance hostname
使用您之前在RDS控制面板中记下的值。[{ "Classification": "hue-ini", "Properties": {}, "Configurations": [ { "Classification": "desktop", "Properties": {}, "Configurations": [ { "Classification": "database", "Properties": { "name": "
dbname
", "user": "username
", "password": "password
", "host": "RDS instance hostname
", "port": "3306", "engine": "mysql" }, "Configurations": [] } ] } ] }]
故障排除
在 Amazon 出现RDS故障转移时
由于 Hue 数据库实例无响应或正在进行故障转移,因此用户可能会在运行查询时遇到延迟。以下是有关此问题的一些事实和准则:
-
如果您登录到 Amazon RDS 控制台,则可以搜索故障转移事件。例如,要查看是否正在进行或已发生故障转移,请查找诸如“多可用区实例故障转移已启动”和“多可用区实例故障转移已完成”之类的事件。
-
RDS实例完成故障转移大约需要 30 秒。
-
如果您在 Hue 中遇到查询的 longer-than-normal响应,请尝试重新执行查询。