Вы можете получить доступ к этим метрикам с сервера истории 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 не требуется в этом решении