HADOOP集群优化——CPU、内存、磁盘IO、YARN监控

目录

hadoop集群优化指标---CPU、内存、磁盘IO、YARN监控

Linux性能监测:CPU篇

Linux性能监测:内存篇

Linux性能监测:磁盘IO篇

Linux性能监测:YARN篇


写在前面:本文主要描述了工作中常用到的一些集群监控命令,对资源合理利用可以提升性能优化效率。

    Hadoop作业执行,执行速率与资源息息相关。在作业执行过程中,对集群进行监测、采集可以快速找到执行hadoop作业的瓶颈。

监控指标:

•    CPU
•    Memory
•    IO
hadoop的瓶颈)
•    YARN

•    IO 
相关,IO 相关的应用通常用来处理大量数据,需要大量内存和存储,频繁 IO 操作读写数据,而对 CPU 的要求则较少,大部分时候 CPU 都在等待硬盘,比如,数据库服务器、文件服务器等。

•    CPU 相关,CPU 相关的应用需要使用大量 CPU,比如高并发的 web/mail 服务器、图像/视频处理、科学计算等都可被视作 CPU 相关的应用。

监测工具
我们只需要简单的工具就可以对 Linux 的性能进行监测,以下是常用的工具:
工具    简单介绍
top        查看进程活动状态以及一些系统状况
vmstat     查看系统状态、硬件和系统信息等
iostat      查看CPU 负载,硬盘状况
sar        综合工具,查看系统状况
mpstat     查看多处理器状况
netstat     查看网络状况
iptraf       实时网络状况监测
tcpdump   抓取网络数据包,详细分析
tcptrace    数据包分析工具
netperf     网络带宽工具
dstat       综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息
yarn      集群资源监控

Linux性能监测:CPU篇

文件拷贝通常占用较少 CPU,因为大部分工作是由 DMADirect Memory Access)完成,只是在完成拷贝以后给一个中断通知 CPU 任务完成;

科学计算通常占用较多的 CPU,大部分计算工作都需要在 CPU 上完成,内存、硬盘等子系统只做暂时的数据存储工作。

CPU 也是一种硬件资源,和任何其他硬件设备一样也需要驱动和管理程序才能使用,我们可以把内核的进程调度看作是 CPU 的管理程序,用来管理和分配 CPU 资源,合理安排进程抢占 CPU,并决定哪个进程该使用 CPU、哪个进程该等待。操作系统内核里的进程调度主要用来调度两类资源:进程(或线程)和中断,进程调度给不同的资源分配了不同的优先级,优先级最高的 是硬件中断,其次是内核(系统)进程,最后是用户进程。每个 CPU 都维护着一个可运行队列,用来存放那些可运行的线程。线程要么在睡眠状态(blocked 正在等待 IO)要么在可运行状态,我们可以通过查看这些重要参数:中断、上下文切换、可运行队列、CPU 利用率来监测 CPU 的性能。
底线
    Linux 性能监测:介绍提到了性能监测前需要知道底线,那么监测 CPU 性能的底线是什么呢?通常我们期望我们的系统能到达以下目标:
•    CPU 利用率,如果 CPU  100 利用率,那么应该到达这样一个平衡65%-70 User Time30%-35 System Time0%-5 Idle Time
•    上下文切换,上下文切换应该和 CPU 利用率联系起来看,如果能保持上面的 CPU 利用率平衡,大量的上下文切换是可以接受的;
•    可运行队列,每个可运行队列不应该有超过13个线程(每处理器),比如:双处理器系统的可运行队列里不应该超过6个线程。
vmstat
    vmstat 是个查看系统整体性能的小工具,小巧、即使在很 heavy 的情况下也运行良好,并且可以用时间间隔采集得到连续的性能数据。

举两个现实中的例子来实际分析一下:

$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 4  0    140 2915476 341288 3951700  0    0     0     0 1057  523 19 81  0  0  0
 4  0    140 2915724 341296 3951700  0    0     0     0 1048  546 19 81  0  0  0
 4  0    140 2915848 341296 3951700  0    0     0     0 1044  514 18 82  0  0  0
 4  0    140 2915848 341296 3951700  0    0     0    24 1044  564 20 80  0  0  0
 4  0    140 2915848 341296 3951700  0    0     0     0 1060  546 18 82  0  0  0

从上面的数据可以看出几点:
  1.    interruptsin)非常高,context switch

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值