一种针对Hadoop集群异常节点实时监测方法技术

技术编号:18444736 阅读:155 留言:0更新日期:2018-07-14 10:18
本发明专利技术涉及一种针对Hadoop集群异常节点实时监测方法,属于Hadoop集群异常检测技术领域。本发明专利技术通过收集hadoop实时输出的日志,继而分析和归类该日志并统计其数据信息,根据其信息进行转换并求得z分数,判断该分数是否大于阈值来确定节点的异常状态。本发明专利技术充分考虑了hadoop任务中map任务与reduce任务耦合性大的特点,把两种任务综合考虑并转化,使精确度更高;本发明专利技术用map任务完成度作为时间度量,更加弹性的衡量了方法的实时性。

A real time monitoring method for abnormal nodes in Hadoop cluster

The invention relates to a real-time monitoring method for abnormal nodes of Hadoop cluster, which belongs to the Hadoop cluster anomaly detection technology field. By collecting the log of Hadoop real-time output, the invention then analyzes and classifies the log and statistics its data information, transforms the information according to its information and obtains the Z score, and determines whether the score is greater than the threshold to determine the abnormal state of the node. The invention fully considers the characteristics of the large coupling between the map task and the reduce task in the Hadoop task, considers and transforms the two tasks in a comprehensive way to make the accuracy higher; the invention uses the map task completion as a time measure, and more flexible to measure the real-time performance of the method.

【技术实现步骤摘要】
一种针对Hadoop集群异常节点实时监测方法
本专利技术涉及一种针对Hadoop集群异常节点实时监测方法,属于Hadoop集群异常检测

技术介绍
科学技术发展必然给社会带来相当大的变化,大数据时代便随着科技的发展应运而生,在此环境下,海量数据计算与存储框架也层出不穷,Hadoop是apache公司根据Google发表的MapReduce思想开发的并行分布式框架,可以有效地将大数据平均分割成很小的部分,分配给集群中单个节点运行。作为MapReducee框架技术的实现之一,hadoop已经被包括百度、华为、yahoo、facebook等多个研究机构和公司使用,这些企业部署的hadoop集群节点数大多成千上万。随着集群规模的不断增大,各种问题接踵而至,节点维护便是其中之一。当集群出现性能问题时,及时定位到问题节点并确定导致该问题的原因是异常困难的,且某类问题不会导致节点直接崩溃却只会使运行速度变缓慢、效率显著降低。
技术实现思路
本专利技术要解决的技术问题是提出一种针对Hadoop集群的异常节点实时检测诊断方法,用以实时检测hadoop运行任务时节点的异常状态。本专利技术的技术方案是:一种针对Hadoop集群异常节点实时监测方法,首先收集hadoop实时输出的日志,继而分析和归类该日志并统计其数据信息,根据其信息进行转换并求得z分数,判断该分数是否大于阈值来确定节点的异常状态。所述方法的具体步骤如下:Step1、实时收集hadoop任务输出的状态日志,提取相关信息,包括:正在工作的节点编号,每个节点正在运行的map任务、reduce任务数;并统计出每个节点已经运行了多少个maptask数和reducetask数,每个任务的运行时间和未完成任务已经运行多少时间;Step2、计算每个节点的逻辑完成数:定义逻辑转换值为节点当前状态下,reduce任务运行时间可转换成多少个map任务的值,具体为计算单个节点reduce任务总运行时长,包括已经运行完成和正在运行的任务;用该时长除以该节点最近完成的一个map任务时间得出的值即为逻辑转换值,逻辑完成数为该节点目前已经执行完成的maptask数量+逻辑转换值;Step3、计算阈值:考虑到可能会搭建在小集群(节点少小于等于30个),采用t分布来确定阈值,当给定置信度与自由度时,相应的阈值就能确定;置信度可根据实际情况设置,该值越小,精度越高,但漏报几率也增高,推荐为0.01;自由度值为运行任务正在工作的节点数减一,如四个节点正在运行任务,则此时自由度为4-1=3。Step4、计算每个节点的z分数:采用t分布下的标准分数(z_scorei)来衡量节点性能的偏移,该值越大说明偏移越多,当其大于阈值时,将其判定为离群点,其中,t分布下的z分数计算公式为:式中,x为该节点的逻辑完成数,μ代表所有节点逻辑完成数的均值,σ代表其相应的标准差,Freedom为自由度;Step5、判断z分数是否小于均值,如果是,则该节点目前是正常的;如果如果否,则该节点是异常节点。本专利技术的工作原理是:提取hadoop实时输出的日志信息,用以获得hadoop集群各个节点的运行状态。同构环境下各节点的状态服从高斯分布。实时分析各个节点的状态,用以判断该节点是否正常。本专利技术的有益效果是:(1)本专利技术通过收集实时输出日志并归类,提高了后期各个节点的分析精度。(2)本专利技术根据统计学原理,结合hadoop任务map、reduce的高耦合性,综合考虑转换,使节点的状态描述更可靠。(3)本专利技术通过判断节点的异常状态,有助于集群维护,并节省大量作业运行时间。附图说明图1是本专利技术收集阶段流程图;图2是本专利技术分析流程图。具体实施方式下面结合附图和具体实施方式,对本专利技术作进一步说明。实施例1:如图1-2所示,一种针对Hadoop集群异常节点实时监测方法,首先收集hadoop实时输出的日志,继而分析和归类该日志并统计其数据信息,根据其信息进行转换并求得z分数,判断该分数是否大于阈值来确定节点的异常状态。所述方法的具体步骤如下:Step1、实时收集hadoop任务输出的状态日志,提取相关信息,包括:正在工作的节点编号,每个节点正在运行的map任务、reduce任务数;并统计出每个节点已经运行了多少个maptask数和reducetask数,每个任务的运行时间和未完成任务已经运行多少时间;Step2、计算每个节点的逻辑完成数:定义逻辑转换值为节点当前状态下,reduce任务运行时间可转换成多少个map任务的值,具体为计算单个节点reduce任务总运行时长,包括已经运行完成和正在运行的任务;用该时长除以该节点最近完成的一个map任务时间得出的值即为逻辑转换值,逻辑完成数为该节点目前已经执行完成的maptask数量+逻辑转换值;Step3、计算阈值:采用t分布来确定阈值,当给定置信度与自由度时,相应的阈值就能确定;置信度可根据实际情况设置,该值越小,精度越高,但漏报几率也增高;自由度值为运行任务正在工作的节点数减一;Step4、计算每个节点的z分数:采用t分布下的标准分数来衡量节点性能的偏移,该值越大说明偏移越多,当其大于阈值时,将其判定为离群点,其中,t分布下的z分数计算公式为:式中,x为该节点的逻辑完成数,μ代表所有节点逻辑完成数的均值,σ代表其相应的标准差,Freedom为自由度;Step5、判断z分数是否小于均值,如果是,则该节点目前是正常的;如果如果否,则该节点是异常节点。所述置信度的推荐值为0.01。实施例2:在本实施例中,使用了6个服务器节点,一个主节点,5个从节点。每个节点的配置为:cpu型号:IntelXeonE5645;逻辑CPU个数:24;内存大小:32GB;硬盘大小:1TB;操作系统:CentOS6.8。作业选择为:Terasort:排列Teragen产生的12G大小的数据。本实施例选择t分布置信度参数为0.01下的值作为阈值,计算后阈值为3.74。本实施例采用sparkstreaming作为实时分析工具,且批处理间隔为5s。由于map执行时间随任务变化而变化,用Map任务完成度来作为时间度量。在运行terasort作业Map任务完成度40%时对节点五注入cpuhog故障。当map任务完成度到达66%的时候,各节点的数据如下:以节点1数据得出为例:步骤一:实时收集hadoop运行日志,该日志包含以下主要信息:1.提交的作业分配到哪些节点进行执行2.某个任务在哪个节点开始运行,某个任务在某节点运行结束。3.任务类型,该任务为map任务还是reduce任务。步骤二:计算各个节点的逻辑完成数。Map任务完成数为统计值;节点1为41。Map任务执行平均时间(s)为该节点所有map任务执行时间的均值;节点一为90。Reduce任务执行总时间节点1为1550s。完成最近一个map任务的时间为统计值;节点1为88s逻辑转换数=Reduce任务执行总时间/完成最近一个map任务的时间;节点1为1550/88=17逻辑完成数=逻辑转换数+Map任务完成数;节点1为17+41=58步骤三:计算阈值:该时刻自由度为4,置信度为0.01,所以t分布下的阈值为3.74。步骤四:计算各个节点的z分数所有节点逻辑完成数的平均值=Σnod本文档来自技高网...

【技术保护点】
1.一种针对Hadoop集群异常节点实时监测方法,其特征在于:首先收集hadoop实时输出的日志,继而分析和归类该日志并统计其数据信息,根据其信息进行转换并求得z分数,判断该分数是否大于阈值来确定节点的异常状态。

【技术特征摘要】
1.一种针对Hadoop集群异常节点实时监测方法,其特征在于:首先收集hadoop实时输出的日志,继而分析和归类该日志并统计其数据信息,根据其信息进行转换并求得z分数,判断该分数是否大于阈值来确定节点的异常状态。2.根据权利要求1所述的针对Hadoop集群异常节点实时监测方法,其特征在于所述方法的具体步骤如下:Step1、实时收集hadoop任务输出的状态日志,提取相关信息,包括:正在工作的节点编号,每个节点正在运行的map任务、reduce任务数;并统计出每个节点已经运行了多少个maptask数和reducetask数,每个任务的运行时间和未完成任务已经运行多少时间;Step2、计算每个节点的逻辑完成数:定义逻辑转换值为节点当前状态下,reduce任务运行时间可转换成多少个map任务的值,具体为计算单个节点reduce任务总运行时长,包括已经运行完成和正在运行的任务;用该时长除以该节...

【专利技术属性】
技术研发人员:田帅汪海涛
申请(专利权)人:昆明理工大学
类型:发明
国别省市:云南,53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1