整机 => top或uptime
1.信息: load average: 0.18, 0.27, 0.19
解释: 系统的负载均衡 1min 5min 15min
问题: 三个值相加再除以3 * 100% 高于60% 系统的负担压力大
2.信息: %CPU %MEM
CPU:vmstat mpstat pidstat
[root@master spark]# vmstat -n 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 1181180 114212 0 455296 210 100 736 287 133 26 2 2 96 0 0
0 0 1181180 114212 0 455328 0 0 0 7 327 711 1 1 98 0 0
0 0 1181180 114212 0 455328 0 0 0 0 286 662 1 1 98 0 0
1. 每2s抽样3次
2. us + sy 不要超过 80%
mpstat -P ALL 2 3
查看所有CPU核信息
pidstat -u 1 -p pid
查看每个进程使用cpu的用量分解信息
内存:free -m
硬盘:df -h
磁盘IO: iostat -xdk 2 3 查看进程 pidstat -d 2 3 -p 进程号
网络IO: ifstat
排查CUP占用过高定位分析的步骤
1. top => 查看进程id
2. jps ls => 查看对应进程占用的程序
3. ps -mp 3513 -o THREAD,tid,time =>查看进程里定位具体的线程
4. 将 线程转换为16进制的数据
3530 => dca
5. jstack 3513 | grep tid(dca) -A60
群起脚本
#!/bin/bash
case $1 in
"start"){
for i in master slave1 slave2
do
echo "************$i************"
ssh $i "/usr/local/src/zookeeper-3.4.14/bin/zkServer.sh start"
done
};;
"stop"){
for i in master slave1 slave2
do
echo "************$i************"
ssh $i "/usr/local/src/zookeeper-3.4.14/bin/zkServer.sh stop"
done
};;
esac
提交spark集群的脚本
spark-submit \
--master yarn-cluster \
--driver-cores 2 \
--driver-memory 8g \
--executor-cores 4 \
--num-executors 10 \
--executor-memory 8g \
--class PackageName.ClassName XXXX.jar \
--name "Spark Job Name" \
InputPath \
OutputPath