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