hadoop——按大小排列Yarn的运行应用程序

gg0vcinb  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(388)

我想出了一种按大小列出yarn正在运行的应用程序的方法。因为大小分为分配的mb和分配的vcore,所以我决定假设一个vcore大约是10000 mb。


# Uses httpie and jq, or you could use curl with -H Content-Type:application/json

http http://yarn-web-ui-url:port/ws/v1/cluster/apps|jq '
  .apps.app 
  | sort_by(.allocatedMB + .allocatedVCores * 10000) 
  | reverse 
  | .[] 
  | select(.state == "RUNNING") 
  | {name, allocatedMB, allocatedVCores, user, id, trackingUrl}' | 
  less

但是有什么方法可以直接在ui中实现这一点吗?如果没有人看到一个更有效的方法来写jq部分。

r7s23pms

r7s23pms1#

有没有人看到一个更有效的方法来写jq部分
为了提高效率,最好在排序之前进行选择。您的过滤器也可以稍微简化:

.apps.app 
  | map(select(.state == "RUNNING"))
  | sort_by(.allocatedMB + .allocatedVCores * 10000) 
  | reverse[] 
  | {name, allocatedMB, allocatedVCores, user, id, trackingUrl}

相关问题