赞
踩
主机上需要安装 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。