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

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

注意事项

在亚马逊 EMR 上使用 Hue 时,请考虑以下限制。

使用大型 Hue 元数据表时的性能

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

  • 桌面文档

  • 桌面_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 版本历史记录。