使用python开源组件yarn-api-client获取yarn信息

来源:互联网 发布:淘宝网站结构图 编辑:程序博客网 时间:2024/05/21 17:38

可以用这个开源组件来做yarn上job运行情况的监控。

pip install yarn-api-client 可以在系统中安装该python组件。该组件的git地址为 https://github.com/toidi/hadoop-yarn-api-python-client

1)使用接口的情况如下:

1.job_history:  historys=HistoryServer('com.hunantv.datanode2', port=19888)  hs=historys.jobs().data 调出所有已经跑完的job的信息,hs['jobs']['job’]  hs.job_counters('job_1437445095118_246443’).data 统计job的输入输出大小等信息  hs.job_tasks('job_1437445095118_246443').data 具体一个job里面tasks(map/reduce)信息 2.resource manager  rm=ResourceManager(address='com.hunantv.datanode31', port=8088)  rm.cluster_applications().data 提交到rm的所有apps的信息  rm.cluster_application('application_1437445095118_265798').data 提交到rm的具体application的信息{u'app': {u'allocatedMB': 0,  u'allocatedVCores': 0,  u'amContainerLogs': u'http://com.hunantv.datanode40:8042/node/containerlogs/container_1437445095118_265798_01_000001/root',  u'amHostHttpAddress': u'com.hunantv.datanode40:8042',  u'applicationTags': u'',  u'applicationType': u'MAPREDUCE',  u'clusterId': 1437445095118,  u'diagnostics': u'',  u'elapsedTime': 29699,  u'finalStatus': u'SUCCEEDED',  u'finishedTime': 1446802078848,  u'id': u'application_1437445095118_265798',  u'name': u'select\n   b.year as year,\n   b.mo...b.cityid(Stage-3)',  u'progress': 100.0,  u'queue': u'root.root',  u'runningContainers': 0,  u'startedTime': 1446802049149,  u'state': u'FINISHED',  u'trackingUI': u'History',  u'trackingUrl': u'http://com.hunantv.datanode31:8088/proxy/application_1437445095118_265798/jobhistory/job/job_1437445095118_265798',  u'user': u'root'}} 3.node manager  nm=NodeManager(address='com.hunantv.datanode35', port=8042)  nm.node_containers().data 获取跑在该节点的containers信息  nm.node_applications().data 获取跑在该节点的apps信息

2)具体使用代码:

from yarn_api_client import ApplicationMaster, HistoryServer, NodeManager, ResourceManager




0 0
原创粉丝点击