有一个java和cli接口来查询节点到节点标签(和反向)的Map。有没有一种方法也可以通过restapi来实现这一点?最初的rmapi搜索只显示基于节点标签的作业提交作为一个选项。
不幸的是,这在maprhadoop(6.1到6/6/19)中被打破了,所以我的代码必须通过实现正确的调度来解决这个问题。使用yarnclientjavaapi,这是可行的(这里也几乎没有坏掉的api)。
但是,由于我想在防火墙后面同时针对不同的资源管理器调度作业,restapi是实现这一点的最有吸引力的选择,而yarnclientapi的rpc后端不容易传输。
我目前最糟糕的解决方案是以某种方式解析yarn-webui。
1条答案
按热度按时间g0czyy6m1#
到目前为止,我找到的唯一解决办法是:请求
/ws/v1/cluster/nodes
-这将获得所有节点。平面图/每个都不同
node
的nodeLabels
,如果只需要节点标签列表。如果需要指定标签的所有节点,请按节点标签筛选。这意味着您必须始终查询所有节点,然后按排序/筛选/排列
NodeLabels
,这是许多客户端的魔力。但显然没有GetNodesToLabel
甚至GetClusterNodeLabels
来帮助我们。我想
getLabelsToNodes
它只是一个客户端实现,因为协议没有定义api,所以对于rest来说这是不可能的,除非在webservice中实现。