Amazon EMR
Amazon EMR 版本指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Ganglia

Ganglia 开源项目是一个可扩展的分布式系统,旨在监控集群和网格,同时尽量减少对其性能的影响。当您在集群上启用 Ganglia 时,您可以生成报告并查看整个集群的性能,还可以检查单个节点实例的性能。还配置 Ganglia 以提取和可视化 Hadoop 和 Spark 指标。有关 Ganglia 开源项目的详细信息,请转到 http://ganglia.info/

当您在浏览器中查看 Ganglia Web UI 时,可以看到集群的性能概述,通过图形详细介绍了负载、内存使用率、CPU 使用率和集群的网络流量。位于集群统计数据下方的是集群中每个单独服务器的图形。

适用于此版本 Amazon EMR 的 Ganglia 版本信息

应用程序 Amazon EMR 发行版标签 随此应用程序安装的组件

Ganglia 3.7.2

emr-5.4.0

emrfs、emr-goodies、ganglia-monitor、ganglia-metadata-collector、ganglia-web、hadoop-client、hadoop-hdfs-datanode、hadoop-hdfs-library、hadoop-hdfs-namenode、hadoop-kms-server、hadoop-yarn-nodemanager、hadoop-yarn-resourcemanager、webserver

主题

    向集群添加 Ganglia

    使用控制台将 Ganglia 添加到集群

    1. Open the Amazon EMR console at https://console.amazonaws.cn/elasticmapreduce/.

    2. 选择 Create cluster

    3. Software configuration 中,选择 All ApplicationsCore HadoopSpark

    4. 根据需要继续利用配置创建集群。

    使用 AWS CLI 向集群添加 Ganglia

    在 AWS CLI 中,可以使用带有 --applications 参数的 create-cluster 子命令向集群添加 Ganglia。如果使用 --applications 参数仅指定 Ganglia,则 Ganglia 是安装的唯一应用程序。

    • 键入以下命令以在创建集群时添加 Ganglia,将 myKey 替换为您的 EC2 密钥对的名称。

      aws emr create-cluster --name "Spark cluster with Ganglia" --release-label emr-5.4.0 \ --applications Name=Spark Name=Ganglia --ec2-attributes KeyName=myKey --instance-type m3.xlarge --instance-count 3 --use-default-roles

      如果不使用 --instance-groups 参数指定实例计数,则将启动单个主节点,其余实例将作为核心节点启动。所有节点都使用该命令中指定的实例类型。

      注意

      如果您之前未创建默认 EMR 服务角色和 EC2 实例配置文件,请先键入 aws emr create-default-roles 创建它们,然后再键入 create-cluster 子命令。

      有关在 AWS CLI 中使用 Amazon EMR 命令的更多信息,请参阅 http://docs.amazonaws.cn/cli/latest/reference/emr

    查看 Ganglia 指标

    Ganglia 提供了基于 Web 的用户界面,您可以用它查看 Ganglia 收集的指标。当您在 Amazon EMR 上运行 Ganglia 时,Web 界面会在主节点上运行,并可以使用端口转发 (也称为创建 SSH 隧道) 进行查看。有关在 Amazon EMR 上查看 Web 界面的更多信息,请参阅 Amazon EMR 管理指南 中的查看 Amazon EMR 集群上托管的 Web 界面

    查看 Ganglia Web 界面

    1. 使用 SSH 隧道进入主节点并创建安全连接。有关如何创建到主节点的 SSH 隧道的信息,请参阅 Amazon EMR 管理指南 中的 选项 2,第 1 部分:使用动态端口转发设置到主节点的 SSH 隧道

    2. 使用代理工具 (如 Firefox 的 FoxyProxy 插件) 安装 Web 浏览器,创建 *ec2*.amazonaws.com* 型域的 SOCKS 代理。有关更多信息,请参阅 Amazon EMR 管理指南 中的选项 2,第 2 部分:配置代理设置以查看主节点上托管的网站

    3. 通过设置代理并打开 SSH 连接,您可以打开浏览器窗口,通过 http://master-public-dns-name/ganglia/ 查看 Ganglia UI,其中 master-public-dns-name 是 EMR 集群中主服务器的公有 DNS 地址。

     Ganglia 集群报告

    Ganglia 中的 Hadoop 和 Spark 指标

    Ganglia 会为每个实例报告 Hadoop 指标。各种类型的指标按类别添加前缀:分布式文件系统 (dfs.*)、Java 虚拟机 (jvm.*)、MapReduce (mapred.*) 和远程程序调用 (rpc.*)。

    Spark 的 Ganglia 指标通常有 YARN 应用程序 ID 和 Spark DAGScheduler 的前缀。前缀遵循以下形式:

    • DAGScheduler.*

    • application_xxxxxxxxxx_xxxx.driver.*

    • application_xxxxxxxxxx_xxxx.executor.*