zoukankan      html  css  js  c++  java
  • 7.2 hadoop失败:任务失败、application master 失败、节点管理器失败、资源管理器失败

    1.1  失败

    1.1.1         任务失败

    Map和reduce任务失败:Map或者reduce任务有缺陷,抛出异常,JVM会会向applicationmaster 发出错误报告,applicationmaster将任务标记为failed,将错误报告写入用户日志,释放资源。

    Stream任务失败:Streaming任务以非零状态码退出,则标记为失败,属性stream.non.zero.exit.is.failure属性设置为true,才会触发。

    Jvm失败:Jvm软件缺陷突然退出,节点管理器会发现进程一退出,通知applicationmaster标记任务失败。

    任务超时失败:applicationmaster在一段时间内没有收到进度更新,则将任务标记失败,超时时间通过mapreduce.task.timeout设置,为0表示无超时限制,这样会导致挂起的任务无法结束,释放资源。

    任务重试:任务失败后,application master会尽量安排在其他节点管理器上再次运行该任务,失败次数超过mapreduce.map.maxattempts属性设置的值(默认4)时,整个作业就会失败。如果不希望单个任务失败, 就判定整个作业失败,可以设置失败比例,mapreduce.map.faileures.maxpercent和mapreduce.reduce.failures.maxpercent属性设置比例。

    任务中止:任务是推测副本或者是节点崩溃,application master会将任务标记为中止(killed),不计入尝试失败次数(maxattempts)。

    1.1.2         Application master运行失败

    Mapreduce Application master尝试次数由mapreduce.am.max-attempts属性控制,默认值是2。YARN对集群上运行的YARN application master的最大尝试次数也加了限制,由属性yarn.resourcemanage.am.max-attempts设置,默认为2,想增加Mapreduce Application master的尝试次数,先增加YARN的设置。

    application master重启资源管理器和application master之间有心跳,application失败时,资源管理器 检测不到心跳,就在一个新的容器中开启新的application master,使用作业历史来恢复任务状态,不必重新运行,yarn.app.mapreduce.am.job.revocery.enable来开启这个恢复功能。

    客户端重定向application master地址:客户端向application master轮循进度报告,初始化时,客户端缓存application master地址,断联后,客户端会向资源管理器重新请求application master的地址。

    1.1.3         节点管理器运行失败

    节点管理器和资源管理器之间也有心跳,如果10分钟(属性yarn.resourcemanager.nm.liveness-monitor.expiry-interval-ms设置,单位秒)。资源管理器将有问题的节点管理器从节电池中移除。移除的节点管理器上的作业未完成的,在其他节点上恢复,重新运行。

    节点管理器黑名单:由applicationmaster管理黑名单,对于mapreduce任务,在一个节点管理器上有三个任务失败,就会尽量将任务调度到不同的节点上。属性mapreduce.job.maxtaskfailures.per.tracker设置阈值。

    1.1.4         资源管理器失败

    资源管理器失败重启资源管理器失败非常严重,作业和任务容器无法启动,失败的作业不能恢复。采用双机热备配置,获得高可用性。运行中的应用程序的信息存储在高可用的状态存储区(zookeeper或HDFS),资源管理器重启后,从存储区读取应用程序的信息,恢复失败的资源管理器的关键状态,重启所有应用程序的application master,次数不计入yarn.resourcemanage.am.attempts。节点管理器信息没有存储,她的信息可以被资源管理器重构。

    故障转移控制器:资源管理器发生故障,自动将资源管理器从主机切换到备机。

    也可配置为手动,但是不建议这样。

    客户端和节点管理器自动连接资源管理器:客户端和节点管理器以轮询方式连接资源管理器,一直尝试连接,直到备份资源管理器替换故障的资源管理器,成功连接。

    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

    https://www.cnblogs.com/bclshuai/p/11380657.html

  • 相关阅读:
    Python学习笔记(三)- 变量
    Python学习笔记(二)-程序执行原理
    Python学习笔记(一)
    牛客算法周周练7-A-收集纸片-dfs解决图的路径问题
    HihoCoder1078-线段树的区间修改-线段树区间修改、查询-模板题
    POJ1298-字符串转换-水题
    java的内存分析(内存模型)
    Linux的自有服务-SSH服务(重点)
    js-类似邮箱中的删除文件-全选、不选、反选
    jmeter数据分析,压测实现
  • 原文地址:https://www.cnblogs.com/bclshuai/p/12204106.html
Copyright © 2011-2022 走看看