从主节点请求工作节点的 YARN 属性
Requesting YARN properties of worker nodes from master node
如果我在 Hadoop 集群的主节点上,我可以转到 yarn-site.xml 并查看属性 yarn.nodemanager.resource.memory-mb
和 yarn.nodemanager.resource.cpu-vcores
,例如,对于仅限主节点。
如果我的工作节点是与主节点不同类型的机器(例如,有更多的内存或 cpu),它们对于这些相同的属性显然会有不同的值,但据我所知告诉我,我在主节点上的任何文件中都看不到这些值。
有没有办法在不连接到其中一台机器并访问其 yarn-site.xml 的情况下为工作节点获取这些值?我提出这个问题的原因是,我希望能够根据 运行 所在的集群配置文件以编程方式部署作业,但是这些作业是从主节点提交的(通常非常与任务节点相比较小)。
编辑:This 页面描述了如何向 RM REST API 提交 HTTP 请求以获取有关集群的信息。在我的 yarn-site.xml
中是 属性
<property>
<name>yarn.resourcemanager.address</name>
<value><http address>:8032</value>
</property>
但是如果我键入 curl http://<http address>:8032/ws/v1/cluster/metrics -XGET
,例如,它会响应:
It looks like you are making an HTTP request to a Hadoop IPC port. This is not the correct port for the web interface on this daemon.
是否有我应该尝试的另一个端口,或者我是否应该以不同的方式提出请求?
以下作品:
$ curl http://$(hostname):8088/ws/v1/cluster/metrics
{"clusterMetrics":{"appsSubmitted":0,"appsCompleted":0,"appsPending":0,"appsRunning":0,"appsFailed":0,"appsKilled":0,"reservedMB":0,"availableMB":116736,"allocatedMB":0,"reservedVirtualCores":0,"availableVirtualCores":16,"allocatedVirtualCores":0,"containersAllocated":0,"containersReserved":0,"containersPending":0,"totalMB":116736,"totalVirtualCores":16,"totalNodes":1,"lostNodes":0,"unhealthyNodes":0,"decommissionedNodes":0,"decommissioningNodes":0,"rebootedNodes":0,"activeNodes":1}}
如果我在 Hadoop 集群的主节点上,我可以转到 yarn-site.xml 并查看属性 yarn.nodemanager.resource.memory-mb
和 yarn.nodemanager.resource.cpu-vcores
,例如,对于仅限主节点。
如果我的工作节点是与主节点不同类型的机器(例如,有更多的内存或 cpu),它们对于这些相同的属性显然会有不同的值,但据我所知告诉我,我在主节点上的任何文件中都看不到这些值。
有没有办法在不连接到其中一台机器并访问其 yarn-site.xml 的情况下为工作节点获取这些值?我提出这个问题的原因是,我希望能够根据 运行 所在的集群配置文件以编程方式部署作业,但是这些作业是从主节点提交的(通常非常与任务节点相比较小)。
编辑:This 页面描述了如何向 RM REST API 提交 HTTP 请求以获取有关集群的信息。在我的 yarn-site.xml
中是 属性
<property>
<name>yarn.resourcemanager.address</name>
<value><http address>:8032</value>
</property>
但是如果我键入 curl http://<http address>:8032/ws/v1/cluster/metrics -XGET
,例如,它会响应:
It looks like you are making an HTTP request to a Hadoop IPC port. This is not the correct port for the web interface on this daemon.
是否有我应该尝试的另一个端口,或者我是否应该以不同的方式提出请求?
以下作品:
$ curl http://$(hostname):8088/ws/v1/cluster/metrics
{"clusterMetrics":{"appsSubmitted":0,"appsCompleted":0,"appsPending":0,"appsRunning":0,"appsFailed":0,"appsKilled":0,"reservedMB":0,"availableMB":116736,"allocatedMB":0,"reservedVirtualCores":0,"availableVirtualCores":16,"allocatedVirtualCores":0,"containersAllocated":0,"containersReserved":0,"containersPending":0,"totalMB":116736,"totalVirtualCores":16,"totalNodes":1,"lostNodes":0,"unhealthyNodes":0,"decommissionedNodes":0,"decommissioningNodes":0,"rebootedNodes":0,"activeNodes":1}}