本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon EMR 7. CloudWatch 1.0 的代理程式
從 Amazon EMR 7.1.0 開始,您可以使用 Amazon EMR 組API態設定 Amazon CloudWatch 代理程式使用其他系統指標、新增應用程式指標,以及變更指標目的地。如需如何使用EMR組態API設定叢集應用程式的相關資訊,請參閱設定應用程式。
注意
7.1.0 僅支援重新設定類型。OVERWRITE
如需重新設定類型的詳細資訊,請參閱重新設定執行個體群組時的考量事項。
配置模式
emr-metrics
具有下列分類:
-
emr-system-metrics
— 配置系統指標, 如CPU, 磁盤, 和內存. -
emr-hadoop-hdfs-datanode-metrics
-配置 Hadoop DataNode JMX 的度量 -
emr-hadoop-hdfs-namenode-metrics
-配置 Hadoop NameNode JMX 的度量 -
emr-hadoop-yarn-nodemanager-metrics
— 配置紗 NodeManager JMX指標 -
emr-hadoop-yarn-resourcemanager-metrics
— 配置紗 ResourceManager JMX指標 -
emr-hbase-master-metrics
— 配置HBase主JMX指標 -
emr-hbase-region-server-metrics
— 配置HBase區域服務器JMX指標 -
emr-hbase-rest-server-metrics
— 配置HBaseREST服務器JMX指標 -
emr-hbase-thrift-server-metrics
-配置HBase節儉服務器JMX指標
下表說明所有分類的可用屬性和組態。
EMR 指標屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 | 備註 |
---|---|---|---|---|---|
metrics_destination |
選用 | 決定是否將叢集指標發佈至適用於 Prometheus 的 Amazon CloudWatch 或 Amazon 受管服務。 | "CLOUDWATCH" | "CLOUDWATCH", "PROMETHEUS" | 此屬性不區分大小寫。例如,「雲觀察」與「CLOUDWATCH」相同。 |
prometheus_endpoint |
選用 | 如果設定metrics_destination 為 "PROMETHEUS「,此內容會設定 CloudWatch 代理程式,以便將指標傳送至 Prometheus 遠端寫入端點所提供的 Amazon 受管服務。 |
N/A | 任何適用於 Prometheus 遠端寫入的有效 Amazon 託管服務。URL遠程寫入URL格式是
|
如果設定為 "PROMETHEUS",則metrics_destination 此欄位為必填欄位。如果您未提供金鑰或值為空字串,佈建將會失敗。 |
emr-system-metrics 屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 | 備註 |
---|---|---|---|---|---|
metrics_collection_interval |
選用 | 從 CloudWatch 代理程式收集和發佈測量結果的頻率 (以秒為單位)。 | 「六十」 | 字串,指定秒數。只接受整數。 | 您可以使用個別測量結果群組的metrics_collection_interval 特性來覆寫此特性。 |
emr-system-metrics 配置
emr-hadoop-hdfs-datanode-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=DataNode,name=DataNodeActivity 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 BlocksCached,BlocksRead 。 |
otel.metric.export.interval |
選用 | 收集 Hadoop DataNode 指標的頻率 (以毫秒為單位)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hadoop-hdfs-namenode-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=NameNode,name=FSNamesystem 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 BlockCapacity,CapacityUsedGB 。 |
otel.metric.export.interval |
選用 | 收集 Hadoop NameNode 指標的頻率 (以毫秒為單位)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hadoop-yarn-nodemanager-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=NodeManager,name=NodeManagerMetrics 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 MaxCapacity,AllocatedGB 。 |
otel.metric.export.interval |
選用 | 收集 Hadoop YARN NodeManager 指標的頻率 (以毫秒為單位)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hadoop-yarn-resourcemanager-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=ResourceManager,name=PartitionQueueMetrics 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 MaxCapacity,MaxCapacityVCores 。 |
otel.metric.export.interval |
選用 | 收集 Hadoop YARN ResourceManager 指標的頻率 (以毫秒為單位)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hbase-master-metrics 屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=HBase,name=Master,sub=AssignmentManager 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 AssignFailedCount,AssignSubmittedCount 。 |
otel.metric.export.interval |
選用 | 收集HBase主要測量結果的頻率 (毫秒)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hbase-region-server-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=HBase,name=RegionServer,sub=IPC 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 numActiveHandler,numActivePriorityHandler 。 |
otel.metric.export.interval |
選用 | 收集「HBase區域伺服器」度量的頻率 (毫秒)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hbase-rest-server-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=HBase,name=REST 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 successfulPut,successfulScanCount 。 |
otel.metric.export.interval |
選用 | 收集 HBase Rest Server 測量結果的頻率 (以毫秒為單位)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
emr-hbase-thrift-server-度量屬性
屬性 | 必要 | 描述 | 預設值 | 可能的值 |
---|---|---|---|---|
|
選用 | N/A | MBean該 CloudWatch 代理程式應該從中收集指標,例如Hadoop:service=HBase,name=Thrift,sub=ThriftOne 。您可以在 Amazon 7.0 EMR 版的範例JMXYAML檔案中找到範例MBean |
字串,其中包含與. MBean 例如 BatchGet_max,BatchGet_mean 。 |
otel.metric.export.interval |
選用 | 收集 HBase Thrift 伺服器指標的頻率 (以毫秒為單位)。 | 「六百」 | 字串,指定毫秒數。僅接受整數。 |
系統指標組態範例
下列範例示範如何設定 CloudWatch 代理程式停止匯出所有系統度量。
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-system-metrics", "Properties": {}, "Configurations": [] } ] } ]
下列範例會設定 CloudWatch 代理程式匯出預設系統測量結果。如果您已重新設定系統指標至少一次,則可以快速將代理程式重設回僅匯出預設系統指標。此重設也會移除之前重新設定的任何應用程式測量結果。
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [] } ]
下列範例會設定叢集以匯出cpu
mem
、和測量結disk
果。
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-system-metrics", "Properties": { "metrics_collection_interval": "20" }, "Configurations": [ { "Classification": "cpu", "Properties": { "metrics": "cpu_usage_guest,cpu_usage_idle", "metrics_collection_interval": "30", "drop_original_metrics": "cpu_usage_guest" } }, { "Classification": "mem", "Properties": { "metrics": "mem_active" } }, { "Classification": "disk", "Properties": { "metrics": "disk_used_percent", "resources": "/,/mnt", "drop_original_metrics": "" } } ] } ] } ]
前面的範例組態具有下列屬性:
-
代理程式每隔 30 秒就會收集所有人的
cpu_guest
測量結果CPUs。您可以在 CloudWatch 命名空間下找到彙總指標CWAgent > cluster.id, instance.id, node.type, service.name
。 -
代理程式每隔 30 秒就會收集所有人的
cpu_idle
測量結果CPUs。您可以在 CloudWatch 命名空間下找到彙總指標CWAgent > cluster.id, instance.id, node.type, service.name
。代理程式也會收集每個 CPU 指標。您可以在相同的命名空間中找到它們。代理程式會收集此度量,因為drop_original_metrics
內容不包含cpu_idle
,因此代理程式不會忽略量度。 -
代理程式每 20 秒就會收集
mem_active
測量結果。您可以在 CloudWatch 命名空間下找到彙總指標CWAgent > cluster.id, instance.id, node.type, service.name
。 -
代理程式會每隔 20 秒收集
/
和/mnt
磁碟掛載的disk_used_percent
指標。您可以在 CloudWatch 命名空間下找到彙總指標CWAgent > cluster.id, instance.id, node.type, service.name
。代理程式也會收集每個掛載指標。您可以在相同的命名空間中找到它們。代理程式會收集此度量,因為drop_original_metrics
內容不包含disk_used_percent
,因此代理程式不會忽略量度。
應用程式度量組態範
下列範例會將 CloudWatch 代理程式設定為停止匯出 Hadoop NameNode 服務的度量。
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-hadoop-hdfs-namenode-metrics", "Properties": {}, "Configurations": [] } ] } ]
下列範例會設定叢集以匯出 Hadoop 應用程式度量。
[ { "Classification": "emr-metrics", "Properties": {}, "Configurations": [ { "Classification": "emr-hadoop-hdfs-namenode-metrics", "Properties": { "Hadoop:service=NameNode,name=FSNamesystem": "BlockCapacity,CapacityUsedGB", "otel.metric.export.interval": "20000" }, "Configurations": [] }, { "Classification": "emr-hadoop-hdfs-datanode-metrics", "Properties": { "Hadoop:service=DataNode,name=JvmMetrics": "MemNonHeapUsedM", "otel.metric.export.interval": "30000" }, "Configurations": [] }, { "Classification": "emr-hadoop-yarn-resourcemanager-metrics", "Properties": { "Hadoop:service=ResourceManager,name=CapacitySchedulerMetrics": "AllocateNumOps,NodeUpdateNumOps" }, "Configurations": [] } ] } ]
前面的例子具有以下屬性:
-
代理程式每隔 20 秒就會從執行 Hadoop NameNode 服務的執行個體收集
BlockCapacity
和CapacityUsedGB
度量。 -
每隔 30 秒,代理程式會從執行 Hadoop 資料節點服務的執行個體收集
MemNonHeapUsedM
指標。 -
代理程式每隔 30 秒就會從執行 Hadoop YARN ResourceManaager 的執行個體收集
AllocateNumOps
和NodeUpdateNumOps
指標。
適用於 Prometheus 的 Amazon 託管服務示例
下列範例示範如何設定 CloudWatch 代理程式,將指標匯出至適用於 Prometheus 的 Amazon 受管服務。
如果您目前正將指標匯出到適用於 Prometheus 的 Amazon 受管服務,並且想要重新設定叢集的指標,並繼續將指標匯出到 Prometheus 的 Amazon 受管服務,則必須包含屬性和。metrics_destination
prometheus_endpoint
[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "prometheus", "prometheus_endpoint": "http://amp-workspace/api/v1/remote_write" }, "Configurations": [] } ]
若要使用 CloudWatch 代理程式將量度匯出至 CloudWatch,請使用下列範例。
[ { "Classification": "emr-metrics", "Properties": { "metrics_destination": "cloudwatch" }, "Configurations": [] } ]
注意
CloudWatch 代理程式具有可重新命名某些屬性的 Prometheus 匯出程式。對於預設指標標籤,適用於 Prometheus 的 Amazon 受管服務會使用底線字元來取代 Amazon 使用的期間。 CloudWatch 如果您使用 Amazon 受管 Grafana 來視覺化 Prometheus Amazon 受管服務中的預設指標,標籤會顯示為cluster_id
、、和。instance_id
node_type
service_name