通用监控指标

对于每个RPC服务应该监控

RpcProcessingTimeAvgTime(PRC处理的平均时间)

通常hdfs在异常任务突发大量访问时,这个参数会突然变得很大,导致其他用户访问hdfs时,会感觉到卡顿,从而影响任务的执行时间

CallQueueLength(RPC Call队列的长度)

如果callqueue队列数值一直处于较高的水平,例如对于NN来说CallQueue的长度等于handler*100,也就是说NN可能收到了大量的请求或者server在处理rpc请求时耗时很长,导致call堆积等

进程JVM监控

MemHeapUsedM(堆内存使用监控)

通过监控改参数可以查看进程的gc时间和gc发生之后释放多少内存和进程的内存使用情况

ThreadsBlocked(线程阻塞数量)

分析当问题发生时进程的线程的阻塞状况

ThreadsWaiting(线程等待数量)

分析当问题发生时进程的线程的等待状况

NameNode监控指标

TotalFiles(总的文件数量)

监控和预警文件数的总量,可以通过其看出是否有任务突然大量写文件和删除大量文件

TotalBlocks(总的block数量)

表示集群的block数量,作用同上

PercentUsed(集群hdfs使用百分比)

监控集群的hdfs的使用情况,使用率不宜太高,因为需要预留磁盘空间给任务计算使用

BlockPoolUsedSpace(集群该namespace的hdfs使用容量大小)

可以监控不同namespace的hdfs的使用情况

Total(集群hdfs总容量大小)

显示集群整体容量情况

Used(集群hdfs已使用的容量大小)

集群hdfs使用情况,可以预警是否需要增加机器和删除无用数据

NumLiveDataNodes(存活的DN数量)

NumDeadDataNodes(丢失的DN数量)

丢失节点,如果过多可能会引起丢块

VolumeFailuresTotal(坏盘的数量)

应该设定阀值,达到一定数量时处理

MissingBlocks(丢失的block数量)

丢失重要的块会引起任务报错

DataNode监控指标

ReadBlockOpAvgTime(读取block的平均时间)

可选的监控选项,如果该机器在某个时段平均时间突然升高,可能网络有打满或磁盘读取速度存在问题

WriteBlockOpAvgTime(写数据块的平均时间)

可选的监控选项

ResouceManager监控指标

NumActiveNMs(NM存活节点数量监控)

NumLostNMs(NM丢失节点数量监控)

有时节点会因为磁盘空间不足等原因导致进程退出,虽然集群具有容错机制,但当丢失节点达到一定数量之后,集群计算资源相当于减少了,所以应当设置合理的阀值报警处理

NumUnhealthyNMs(NM不健康节点数量监控)

通常会因为磁盘问题导致节点不健康

集群应用数量监控

AppsSubmitted(app提交数量)

之前集群有出现过app的id号,生成很慢的情况,可以通过改数值和其他参数去判断提交减少的问题

AppsRunning(app的运行数量)

可以通过改值去对比历史同一时刻的app的运行数量是否差异很大,去判断集群到底是否可能出现问题

AppsPending(app等待数量)

如果该数值很高,或则在某个queue的该数值很高,有可能是因为app所在的队列资源满了,导致app无法获取资源,启动master,如果资源没满,可能的一个原因是app的所在队列无法在rm中有先获取资源,或资源被预留所导致等

AppsCompleted(app完成数量)

应用完成的数量监控

AppsKilled(app被kill的数量)

应用被kill的数量监控

AppsFailed(app失败数量)

如果AppsFailed数量升高,说明集群的存在导致app批量失败的操作

集群资源使用量情况监控

AllocatedMB(已分配的内存大小)

如果集群用户反应任务运行缓慢,应该及时检查队列资源的使用情况和hdfs的响应速度

AllocatedVCores(已分配的核数量)

有时任务分配不上去,有可能是核数已经用完

AllocatedContainers(已分配的Container数量)

已分配的Container数量

AvailableMB(可用的内存大小)

有遇到过在集群反复重启NM后,导致集群计算可用资源错误的bug

AvailableVCores(可能的核数量)

PendingMB(等待分配的内存大小)

PendingVCores(等待分配的核数量)

PendingContainers(等待分配的Container数量)

如果等待分配的Container比日常出现多出很多,应该检查集群是否有问题

ReservedMB(预留的内存大小)

之前遇到因为spark任务申请很大的资源,导致把整个集群的资源都预留的情况,这时应该适当的调整最大的分配Container的内存大小

ReservedVCores(预留的核数量)

同上

ReservedContainers(预留的Container数量)

Container因为资源不足,优先预留节点

集群分配数据监控

AssignContainerCallNumOps(分配Container的次数)

我们可以通过该监控可以知道RM每秒能够分配多少的Container,在高峰期是否可能存在瓶颈,经过社区的patch优化之后,RM的分配Container最大值可以达到4k+

AssignContainerCallAvgTime(分配Container的平均时间)

如果时间突然变大,说明可能遇到分配瓶颈等其他问题

ContinuousScheduleCallNumOps(连续调度次数)

如果该数值没有增加,说明连续调度线程出现问题

ContinuousScheduleCallAvgTime(连续调度平均时间)

连续调度的平均时间

NodeUpdateCallNumOps(NM心跳汇报次数)

NodeUpdateCallAvgTime(心跳汇报处理时间)

rm资源分配是通过每一次NM的心跳进行分配和领取Container的,如果该时间变长,则分配速度可能会存在下降

Linux机器监控

网络带宽情况

通过监控DN的网络情况可以查找,该节点是否在当时是热节点,一般情况下如果在该机器的网络情况已经满了,会影响任务的正常运行速度

机器负载情况

网络丢包情况

机器内存使用情况

Hadoop记录-Hadoop集群重要监控指标的更多相关文章

  1. 使用ganglia监控hadoop及hbase集群

    一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...

  2. 第十二章 Ganglia监控Hadoop及Hbase集群性能(安装配置)

    1 Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...

  3. 使用ganglia监控hadoop及hbase集群 分类: B3_LINUX 2015-03-06 20:53 646人阅读 评论(0) 收藏

    介绍性内容来自:http://www.uml.org.cn/sjjm/201305171.asp 一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测 ...

  4. Hadoop 2.8集群安装及配置记录

    第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...

  5. 从零自学Hadoop(06):集群搭建

    阅读目录 序 集群搭建 监控 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一 ...

  6. Hadoop(三)手把手教你搭建Hadoop全分布式集群

    前言 上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的.接下来我将给大家分享一下全分布式集群的搭建! 其实搭建最基本的全分布式集群和伪分布式集群 ...

  7. Hadoop(三)搭建Hadoop全分布式集群

    原文地址:http://www.cnblogs.com/zhangyinhua/p/7652686.html 阅读目录(Content) 一.搭建Hadoop全分布式集群前提 1.1.网络 1.2.安 ...

  8. Hadoop(HA)分布式集群部署

    Hadoop(HA)分布式集群部署和单节点namenode部署其实一样,只是配置文件的不同罢了. 这篇就讲解hadoop双namenode的部署,实现高可用. 系统环境: OS: CentOS 6.8 ...

  9. Hadoop伪分布式集群环境搭建

    本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...

随机推荐

  1. CNN卷积神经网络人脸识别

    图片总共40个人,每人10张图片,每张图片高57,宽47.共400张图片. 读取图片的py文件 import numpyimport pandasfrom PIL import Imagefrom k ...

  2. D - Mayor's posters POJ - 2528 离散化+线段树 区间修改单点查询

    题意 贴海报 最后可以看到多少海报 思路 :离散化大区间  其中[1,4] [5,6]不能离散化成[1,2] [2,3]因为这样破坏了他们的非相邻关系 每次离散化区间 [x,y]时  把y+1点也加入 ...

  3. 洛谷3705 [SDOI2017] 新生舞会 【01分数规划】【KM算法】

    题目分析: 裸题.怀疑$ O(n^4log{n}) $跑不过,考虑Edmonds-Karp优化. 代码: #include<bits/stdc++.h> using namespace s ...

  4. 数据分析---用pandas进行数据清洗(Data Analysis Pandas Data Munging/Wrangling)

    这里利用ben的项目(https://github.com/ben519/DataWrangling/blob/master/Python/README.md),在此基础上增添了一些内容,来演示数据清 ...

  5. 【BZOJ3813】【清华集训2014】奇数国 线段树 数学

    题目描述 给你一个长度为\(n\)的数列,第\(i\)个数为\(a_i\).每个数的质因子都只有前\(60\)个质数.有\(q\)个询问,每次给你\(l,r\),求\(\varphi(\prod_{i ...

  6. 基于 __new__ 方法的单例模式

    单例模式定义 首次实例化创建实例化对象 之后的每次实例化都用最初的实例化对象 即单实例模式 __new__ 的原理 __new__ 方法可以在 __init__ 方法执行 这样可以在初始化之前进行一系 ...

  7. 搜索引擎(Elasticsearch搜索详解)

    学完本课题,你应达成如下目标: 掌握ES搜索API的规则.用法. 掌握各种查询用法 搜索API 搜索API 端点地址 GET /twitter/_search?q=user:kimchy GET /t ...

  8. HR_Sherlock and Anagrams_TIMEOUT[UNDONE]

    2019年1月10日15:39:23 去掉了所有不必要的循环区间 还是超时 本地运行大概3s #!/bin/python3 import math import os import random im ...

  9. [APIO2013]机器人(斯坦纳树)

    题目描述 VRI(Voltron 机器人学会)的工程师建造了 n 个机器人.任意两个兼容的机 器人站在同一个格子时可以合并为一个复合机器人. 我们把机器人用 1 至 n 编号(n ≤ 9).如果两个机 ...

  10. BZOJ2244 拦截导弹

    此题最早看到是在我还什么都不会的去年的暑期集训,是V8讲的DP专题,我当时还跑去问这概率怎么做.这道题要求的是二维最长不上升子序列,加上位置一维就成了三维偏序问题,也就是套用CDQ分治,对位置排序,然 ...