监控Hadoop指标
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.hadoop 2指标概述
Hadoop 2的指标及其记录系统在性能调查和调试过程中非常有用。与在单个服务器上运行数据库来进行监视和故障排除相比,hadoop的分布式架构使其难以监视集群并诊断问题。
hadoop的应用程序日志和作业指标提供了有关作业的情况,但是缺少每个作业或每个任务的磁盘和网络使用指标。类似地,任务或应用程序的集群级资源利用率也不可用。因此,原始日志和指标在原始状态下不是非常有用。
有几个开源监控监控系统开课帮助我们将hadoop提供的指标和日志整合到服务器相关的性能摘要和图标以及报警中。
除了Ganglia之外,可能还需要考虑诸如Chukwa之类的工具,Chukwa是用于监控大型分布式系统的数据收集系统,其可帮助我们不熟和管理hadoop集群的Apache Ambari。
hadoop用于各个服务的Web UI(如NameNode Web UI和DataNode Web UI),依赖于hadoop自动收集的内部指标,监视这些服务的运行状况。
hadoop将其指标分组到几个命名上下文中,例如用于Java虚拟机指标的JVM上下文和用于调试RCP调用的rpc。
hadoop指标是宝贵的实时和历史信息资源,可帮助我们排除洁群性能问题,并排查与Hadoop服务及其支持的应用程序相关的问题。在这种情况下,区分Hadoop指标与MapReduce作业计数器很重要。
(1)MapReduce作业计数器提供一些诸如应用程序读取和写入的总字节数的信息,而Hadoop指标具有更广泛的关注点,并显示所有有关hadoop服务的信息,如NameNode,JournalNode和DataNode,以及用户和组相关信息;
(2)管理员可以查看MapReduce计数器,以了解诸如运行缓慢的MapReduce作业等问题。
(3)Hadoop指标应用更广泛,可以这么说,它可以帮助解决和调整所有范围的管理问题,例如NameNode启动时间,身份验证失败,当前连接数,文件创建和删除操作,当前空闲时间等。
二.Hadoop指标类型
Hadoop守护进程可以产生的各种指标,我们可以使用这些指标来了解集群的运行情况。例如,JVM指标(如GcCount和GcTimeMillis)显示高JVM内存活动,而高ThreadsWaiting计数意味着JVM可能需要额外的内存。
DFS相关的指标可以告诉你集群中是否有大量的文件创建和删除操作。RPC指标显示是否有任何可疑的身份验证尝试,其他一些指标可以指出系统内存,CPU或本地和HDFS存储的使用率等。
Hadoop的守护进程的指标根据它们所属的上下文可以分为不同的组,如下所示。
1>.JVM指标
这些指标由集群中运行的JVM产生,包括JVM堆大小(MemHeapUsedM)和垃圾回收相关指标,例如当前对内存的使用情况和总GC计数(GcCount)。
2>.RPC指标
RCP上下文中的指标包括主机名和端口等,还包括诸如发送字节数(SentBytes),当前打开连接数(NumOpenConnections)和认证失败次数(RpcAuthenticationFailures)等指标。
3>.DFS指标
DFS上下文中包括与NameNode,HDFS文件系统,DataNodes和JournalNodes相关的指标。
(1)NameNode相关的DFS指标显示创建的文件总数(CreateFileOps)以及启动NameNode(FsImageLoadTime)后加载fsimage文件所需的时间;
(2)FSNameSystem质保显示HDFS块和HDFS容量相关信息,例如当前丢失块数(MissingBlocks),当前损失块数(CorruptBlocks)以及所有DataNodes(CapacityUsedGB)中当前使用的容量;
(3)JournalNode相关指标包括同步延迟信息以及数量和写入字节数等信息;
(4)DataNode指标显示读取和写入的数据库块数据量信息,每次操作的平均时间和卷故障总数信息。
4>.YARN度量
YARN上下文中的指标包括集群信息,例如活动和不健康的NodeManagers的当前数量,以及ResourceManager应用程序队列相关的信息,例如当前运行的应用程序(AppsRunning)和当前的活动用户(ActiveUsers)。
YARN上下文中还包括NodeManager指标,例如已启动,已杀死和失败的容器总数,以及当前分配的和可用的内存。
5>.用户和组指标
与用户和组有关的指标信息,例如成功和失败的Kerberos登录总数以及组解析次数。
6>.默认上下文
显示NameNode启动的统计信息,并显示NameNode启动过程的各个阶段所需的精确时间,例如加载fsimage和edits文件,检查点保存,以及使NameNode脱离安全模式所需的时间。
三.收集文件系统的指标
要收集指标并使用它们进行调优和故障排除,必须配置各种Hadoop守护程序,以指定的时间间隔收集指标,并输出指标。可以使用插件输出指标。Hadoop守护程序产生的指标称为sources,插件称为sinks。因此,sources产生数据,sinks消耗数据或输出数据。 可以使用各种类型的插件,默认使用FileContex,它将指标写入文件,NullContext丢失指标,GangliaContext会将指标发送到Ganglia监控系统。 为了获取由Hadoop生成的指标,需要配置"${HADOOP_HOME}/etc/hadoop/hadoop-metrics2.properties"文件,其默认配置如下图所示。 博主推荐阅读: https://www.cnblogs.com/yinzhengjie2020/p/13829436.html