Linux

188 阅读1分钟

整机 => 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