HDP 平台通过 Ambari 的 API 获取 YARN 运行状况

主机上需要安装 jq 用来解析 json 串

通过 curl 访问 Ambari API,获取 json 格式的数据

curl -u ${username}:${password} -sS -G "${url_base_path}services/YARN/components/RESOURCEMANAGER"

获取 resourcemanager 的总数

rm_total=`echo $rm_json| jq '.ServiceComponentInfo.total_count'`

获取 resourcemanager 的运行数

rm_alived=`echo $rm_json| jq '.ServiceComponentInfo.started_count'`

获取两个 resourcemanager 的 url,从而获取更详细的 YARN 的数据

rm_url01=`echo $rm_json |jq '.host_components[0].href'|sed 's/\"//g'`
rm_url02=`echo $rm_json |jq '.host_components[1].href'|sed 's/\"//g'`

判断哪个 resourcemanager 是活跃的,再访问

if [ `echo $rm_url_json01|jq '.HostRoles.ha_state'` == "ACTIVE" ]
  then
    rm_heapsize_total=`echo $rm_url_json01| jq '.metrics.jvm.HeapMemoryMax'`
    rm_heapsize_used=`echo $rm_url_json01| jq '.metrics.jvm.HeapMemoryUsed'`
    rm_heapsize_used_rate=`echo "$rm_heapsize_used $rm_heapsize_total"| awk '{printf "%.2f", $1/$2*100}'`
  else
    rm_heapsize_total=`echo $rm_url_json02| jq '.metrics.jvm.HeapMemoryMax'`
    rm_heapsize_used=`echo $rm_url_json02| jq '.metrics.jvm.HeapMemoryUsed'`
    rm_heapsize_used_rate=`echo "$rm_heapsize_used $rm_heapsize_total"| awk '{printf "%.2f", $1/$2*100}'`
  fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值