Как программно получить метрики YARN «Memory Total» и «VCores Total» в pyspark - PullRequest
0 голосов
/ 09 марта 2020

Я задерживаюсь вокруг этого: https://docs.actian.com/vectorhadoop/5.0/index.html#page / User / YARN_Configuration_Settings.htm

но ни один из этих конфигов не является тем, что мне нужно.

"yarn.nodemanager.resource.memory-mb" был многообещающим, но, похоже, он предназначен только для менеджера узлов и получает только мем и ЦП мастера, а не кластер.

int(hl.spark_context()._jsc.hadoopConfiguration().get('yarn.nodemanager.resource.memory-mb'))

1 Ответ

1 голос
/ 11 марта 2020

Вы можете получить доступ к этим метрикам с сервера истории Yarn.
URL: http://rm-http-address:port/ws/v1/cluster/metrics
метрики:

totalMB
totalVirtualCores  

Пример ответа (также может быть XML):

{  "clusterMetrics":   {
    "appsSubmitted":0,
    "appsCompleted":0,
    "appsPending":0,
    "appsRunning":0,
    "appsFailed":0,
    "appsKilled":0,
    "reservedMB":0,
    "availableMB":17408,
    "allocatedMB":0,
    "reservedVirtualCores":0,
    "availableVirtualCores":7,
    "allocatedVirtualCores":1,
    "containersAllocated":0,
    "containersReserved":0,
    "containersPending":0,
    "totalMB":17408,
    "totalVirtualCores":8,
    "totalNodes":1,
    "lostNodes":0,
    "unhealthyNodes":0,
    "decommissioningNodes":0,
    "decommissionedNodes":0,
    "rebootedNodes":0,
    "activeNodes":1,
    "shutdownNodes":0   } }

https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Metrics_API

Все, что вам нужно, это выяснить адрес сервера истории пряжи и проверить порт в ваших файлах конфигурации, не могу помочь вам с этим, так как я не знаю, где вы управляете пряжей.

Если у вас есть URL, откройте его с помощью python:

import requests
url = 'http://rm-http-address:port/ws/v1/cluster/metrics'
reponse = requests.get(url)
# Parse the reponse json/xml and get the relevant metrics... 

Конечно, не нужно иметь oop или Spark Context не требуется в этом решении

...