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