Hadoop 指标类型node
Hadoopde 守护进程的指标根据它们所属的上下文能够分为不一样的组,以下所述:linux
JVM指标:这些指标由集群中运行的JVM产生包括JVM堆大小和垃圾回收相关指标,例如当前的堆内存(MemHeapUsed)的使用状况和总GC计数(GcCount)。web
RPC指标:rpc上下文中的指标包括主机名和端口等,还包括诸如发生字节数(SentBytes)、当前打卡链接数(NumOpenConnections)和认证失败次数等指标。缓存
DFS指标:dfs上下文中包括与NameNode、HDFS文件系统、DataNodes和JournalNodes相关指标,DFS指标能够告诉集群中是否存在大量的文件建立和删除操做。app
Hadoop的日志消息ide
能够经过浏览各个日志文件或经过Hadoop内置的web界面访问Spark和其余做业的hadoop日志消息。大多数时候,经过web界面访问日志更好,由于能够节省时间,并快速找到发生性能问题或者做业失败的缘由:oop
Hadoop生成两种主要类型的日志:性能
它为守护程序(如NameNode和DataNode)生成日志。守护进程日志主要由管理员使用,由于它们有助与排除DataNode和NameNode等关键Hadoop服务的意外故障。spa
Hadoop还为集群中的运行的每一个应用程序生成日志,hadoop应用程序日志能够用于开发人员了解做业失败和性能降低的缘由。debug
能够经过多种方式查看hadoop的日志
Hadoop web UI 特别是ResourceManager webUi能够免除访问日志存储位置和查看日志文件的麻烦,还能够经过JobHistory web UI 查看日志
直接从日志文件检查日志信息
对于某些应用程序日志,若是开启了日志聚合功能则将他们聚合到HDFS存储。
经过yarn命令检查:
yarn application命令能够管理一下任务:
列出集群中运行的应用程序
杀死正在运行的的应用程序
获取正在运行的应用程序的状态。
查看Yarn应用程序
yarn application -list 能够检索全部做业的列表,不考虑它们的状态。做业能够具备如下状态:All、NEW、NEW_SAVING、SUMBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED和KILLED。指定-appStates选项便可
yarn application -list -appStates running
检查应用程序的状态
yarn application -status <application_id>
kill正在执行的的做业
yarn application -kill <application_id>
检查节点状态
yarn node -all -list 列出集群的全部节点及其状态
获取做业日志
yarn logs 名利的语法:
yarn logs -applicationId <application_id>
只能获取已经结束的运行的做业的日志。
Hadoop存储日志的位置
一、hdfs:这是hadoop建立用于存储做业执行文件(如包含运行做业hadoop参数的job.xml)的暂存目录的位置。
二、NodeManager本地目录:这是在本地文件系统上建立的目录,hadoop在其中存储由NodeManager服务生产的Shell脚本,以便执行ApplicationMaster容器。可使用yarn-site.xml文件中的yarn.nodemanager.local.dir参数指定NodeManger本地目录位置。
此参数能够提供NodeManager存储其本地文件的目录列表。在这些目录下实际应用程序的本地文件目录${yarn.nodemanager.local-dir}/usercache/user/....。每一个NodeManager在NodeManager本地目录下的本地应用程序缓存中
三、NodeManger日志目录:这是linux上本地目录,NodeManager在此存储用户运行的应用程序的实际日志文件。在此节点的NodeManager上执行做业的全部容器及其应用程序日志存储在此目录中。使用yarn.nodemanager.log-dirs参数指定NodeManager日志目录的位置。
不须要担忧nm-local-dirs目录会填满appcache子目录下的做业文件,这些文件在做业完成时会被自动删除。可是某些做业确实包含大文件,配置属性yarn.nodemanager.delete.debug-delay-sec指定在应用程序后就保留本地日志目录的时间,一点配置时间到期,NodeManager的deletionservicehi删除应用程序本地文件目录结构。
Hadoop存储日志聚合
启用日志聚合以后,nodemanager会将全部容器日志链接到一个文件中并将它保存在HDFS中,可使用yarn.nodemanager.remote-app-log-dir参数配置hadoop 在hdfs的哪里存储聚合日志。通常配置在/tmp/hadoop/logs/
三种方式获取应用程序日志
一、从hdfs中获取
二、经过hadoop 从web UI看,在未结束的应用的中点击applicationmaster,点击页签下面的logs
三、做业完成以后从JobHistoryServer UI查看