本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意事项
在亚马逊上使用 Hue
使用大型 Hue 元数据表时的性能
如果 Hue 元数据数据库变得太大,性能可能会降低。要检查表的大小,请先使用连接到 Amazon on Amaz EMR on EC2 集群的主节点,SSH然后运行命令sudo mysql -u root
启动 My SQL 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 5.12.0 及更高EMR版本提供了一种删除表格中旧文档的方法。创建以下 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 版本历史记录。