当我打开 Ganglia UI 时,无法看到我的 Amazon EMR 集群的默认概述。我只能看到一个空白页面。
解决方法
这是一个影响 Amazon EMR 发行版本 5.30.0 和 6.0.0 的已知问题。此问题已在 Amazon EMR 发行版本 5.30.1 中得到解决。
要在 Amazon EMR 5.30.0 或 6.0.0 上解决此问题,请手动或者作为 Amazon EMR 步骤修改 cluster_view.php。
手动修改 cluster_view.php
1. 使用 SSH 连接到主节点。
2. 打开 /usr/share/ganglia/cluster_view.php 文件。
3. 在第 26 行中,将 $context_metrics = "" 更改为 $context_metrics = array()。例如,这是文件修改前的外观:
25 function get_picker_metrics($metrics, $reports, $gweb_root, $graph_engine) {
26 $context_metrics = "";
27 if (count($metrics)) {
这是文件修改后的外观:
25 function get_picker_metrics($metrics, $reports, $gweb_root, $graph_engine) {
26 $context_metrics = array();
27 if (count($metrics)) {
4. 刷新 Ganglia UI 即可看到集群概述页面。
作为步骤修改 cluster_view.php
1. 将以下命令复制到 .sh 文件。您可以将文件存储到 Amazon Simple Storage Service (Amazon S3) 存储桶中。
sudo sed -i '26s/ \$context_metrics \= \"\"\;/ \$context_metrics \= array\(\)\;/g' /usr/share/ganglia/cluster_view.php
2. 作为步骤将 .sh 文件加到集群。替换下例中的如下值:
j-XXXXXXXX:您的集群标识符
s3://awsdoc-example-bucket/sample.sh:您在第 1 步中创建的 .sh 文件的路径
aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=CUSTOM_JAR,Name="Fix Ganglia",Jar="s3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar",ActionOnFailure=CONTINUE,Args=[s3://awsdoc-example-bucket/sample.sh]
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您使用的是最新的 CLI 版本。。
3. 刷新 Ganglia UI 即可看到集群概述页面。
相关信息
查看 Ganglia 指标