Yêu cầu:
-
Monitor đc các thông số cơ bản của cluster hadoop:
- Số lượng app được submit
- Số app đang chạy
- Số app đang pending
- Số memory: total, used
- Số Vcore: Total, used
- Node: số node, số node bị mất, số node có trạng thái unhealthy
Thực hiện:
- Có thể xem các con số trên tại trang running custer của resource manager:

- Ngoài ra, còn có thể sụng API để lấy các con số này:

Dưới đây là script thực hiện lấy các giá trị:
| Apps Submitted Apps Pending Apps Running Memory Used Memory Total VCores Used VCores Total Active Nodes lostNodes unhealthyNodes totalNodes |
Các giá trị này để gửi tới zabbix để xây dựng biểu đồ, và lưu trữ, thiết lập cảnh báo.
Dưới đây là script lấy số liệu:
#!/bin/bash
echo "appsSubmitted
appsPending
appsRunning
allocatedMB
totalMB
allocatedVirtualCores
totalVirtualCores
activeNodes
lostNodes
unhealthyNodes
totalNodes" > /tmp/readkey
curl -s -H "Content-Type: application/xml" http://c2s-spk06:8088/ws/v1/cluster/metrics http://c2s-spk07:8088/ws/v1/cluster/metrics > /tmp/input
IFS=$'\n'
for i in `cat /tmp/readkey`;do
a=`egrep -o "${i}\":[0-9]+" /tmp/input | awk -F':' '{print $2}'`
echo "$HOSTNAME yarn.metric.$i $a"
done
Output có dạng:
| c2s-spk06 yarn.metric.appsSubmitted 443 c2s-spk06 yarn.metric.appsPending 0 c2s-spk06 yarn.metric.appsRunning 25 c2s-spk06 yarn.metric.allocatedMB 265216 c2s-spk06 yarn.metric.totalMB 307200 c2s-spk06 yarn.metric.allocatedVirtualCores 131 c2s-spk06 yarn.metric.totalVirtualCores 320 c2s-spk06 yarn.metric.activeNodes 5 c2s-spk06 yarn.metric.lostNodes 0 c2s-spk06 yarn.metric.unhealthyNodes 0 c2s-spk06 yarn.metric.totalNodes 5 |
Thiết lập đặt vào cron của máy hadoop, chạy 10 phút 1 lần, và đẩy output cho zabbix sender xử lý, gửi tới zabbix server, chi tiết cú pháp xem help của zabbix sender.
*/10 * * * * /bin/bash GetClusterMetricSpark.sh | /usr/local/zabbix/bin/zabbix_sender -i - -z ws-zbx