注意事项 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

注意事项

使用 Hue on Amazon EMR 时应注意以下限制。

大型 Hue 元数据表的性能

如果 Hue 元数据数据库变得太大,性能可能会下降。要检查表的大小,请先使用 SSH 连接到 Amazon EC2 集群上的 Amazon EMR 的主节点,然后运行命令sudo mysql -u root启动 MySQL CLI。要获取表的大小,请运行查询 SELECT COUNT(*) FROM hue.<table_name>。有关<table_name>可能的内容,请参见以下内容:

  • desktop_document

  • desktop_document2

  • oozie_job

  • beeswax_savedquery

  • beeswax_session

  • beeswax_queryhistory

如果运行该查询返回的计数超过 100000,则应运行以下清理命令来删除旧记录。

cd /opt/cloudera/parcels/CDH/lib/hue # Hue home directory ./build/env/bin/hue desktop_document_cleanup

有关清理数据库的更多信息,请参阅 Hue 文档中的参考页面

Hue 不会自动清理表,但 Amazon EMR 5.12.0 及更高版本提供了删除表中旧文档的方法。创建以下 shell 脚本,并将其作为 Amazon EMR 集群中的一个步骤运行,其中的整数参数代表元数据数据库中文档的最长保存天数。

#!/bin/bash if grep isMaster /mnt/var/lib/info/instance.json | grep false; then echo "This is not the primary node; do nothing, exiting" exit 0 fi while [ ! -f /usr/lib/hue/desktop/core/src/desktop/management/commands/desktop_document_cleanup.py ] do sleep 1 done sudo systemctl stop hue.service sudo sed -i 's+ LOG.warn+ # LOG.warn+g' /usr/lib/hue/desktop/core/src/desktop/management/commands/desktop_document_cleanup.py sudo /usr/lib/hue/build/env/bin/hue desktop_document_cleanup --keep-days $1 sudo systemctl start hue.service

不同版本的 Hue 不兼容

如果您在多个启用 Hue 的集群中使用相同的 Hue 元数据数据库,建议这些集群运行相同版本的 Hue。不同版本的 Hue 可能具有不同的 Hue 元数据数据库架构。在不同版本中使用相同的数据库会导致 Hue 安装失败。例如,如果尝试对安装了 4.10.0 和 4.11.0 的两个集群使用相同的数据库,可能导致尝试登录 4.10.0 集群的用户出现登录错误。

有关 Amazon EMR 发行版标签和相应的 Hue 已安装版本的列表,请参阅 Hue 版本历史记录。