• Yarn重启applications记录恢复


    Yarn重启applications记录恢复

    修改yarn-core.xml配置文件

    ResourceManager重启恢复

    1. 将yarn-site.xml中的yarn.resourcemanager.recovery.enabled配置项设为true(默认是false)

      <property>
          <name>yarn.resourcemanager.recovery.enabled</name>
          <value>true</value>
      </property>
      
      • 1
      • 2
      • 3
      • 4
    2. 配置yarn.resourcemanager.store.class参数,该参数用来指定RM在重启之前将自己的状态保存在何种存储媒介上,目前有3种存储可选

      • org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
        默认值,是基于文件系统的存储(本地存储或者HDFS)。可以指定yarn.resourcemanager.fs.state-store.uri作为存储路径,如果指定这个yarn.resourcemanager.fs.state-store.uri必须要设置。

      • org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
        基于ZooKeeper的存储,当启用RM高可用时,只能选择这种方式。因为两个RM都有可能是活跃的(认为自己才是真正的RM),进而发生脑裂。基于ZK的存储可以通过隔离(fence)状态数据防止脑裂。可以指定hadoop.zk.address(ZK节点地址列表)和yarn.resourcemanager.zk-state-store.parent-path(状态数据的根节点路径)参数。

      • org.apache.hadoop.yarn.server.resourcemanager.recovery.LeveldbRMStateStore
        基于LevelDB的存储。它比前两种方式都更轻量级,占用的存储空间和I/O要小得多,并且支持更好的原子性操作。对性能有极致要求时采用。可以指定yarn.resourcemanager.leveldb-state-store.path作为存储路径。

        <property>
            <name>yarn.resourcemanager.store.class</name>
            <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore</value>
        </property>
        
        • 1
        • 2
        • 3
        • 4
    3. 配置yarn.resourcemanager.fs.state-store.uri,如果yarn.resourcemanager.store.class是org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore需要配置,这里配置HDFS存储

      <property>
          <name>yarn.resourcemanager.fs.state-store.uri</name>
          <value>hdfs://hadoop-master:9010/rmstore</value>
      </property>
      
      • 1
      • 2
      • 3
      • 4
    4. 最后配置yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms,它表示从RM重启后从各个NM同步Container信息的等待时长,在此之后才会分配新的Container。默认值是10000(10秒),一般不需要改动。

      <property>
          <name>yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms</name>
          <value>10000</value>
      </property>
      
      • 1
      • 2
      • 3
      • 4

    配置NodeManager重启自动恢复

    1. 将yarn-site.xml中的yarn.nodemanager.recovery.enabled配置项设为true(默认是false)

      <property>
          <name>yarn.nodemanager.recovery.enabled</name>
          <value>true</value>
      </property>
      
      • 1
      • 2
      • 3
      • 4
    2. 配置yarn.nodemanager.recovery.dir参数,指定NM在重启之前,将Container的状态写入此本地路径。默认值为${hadoop.tmp.dir}/yarn-nm-recovery

      <property>
          <name>yarn.nodemanager.recovery.dir</name>
          <value>/opt/topology/db_data/hadoop-data/yarn-nm-recovery</value>
      </property>
      
      • 1
      • 2
      • 3
      • 4
    3. 配置yarn.nodemanager.address参数,该参数为NM的RPC地址,默认为${yarn.nodemanager.hostname}:0,即随机使用临时端口。一定要指定为一个固定端口(如8041),否则NM重启之后会更换端口,就无法恢复Container的状态了

      <property>
          <name>yarn.nodemanager.address</name>
          <value>hadoop-master:45454</value>
      </property>
      
      • 1
      • 2
      • 3
      • 4
  • 相关阅读:
    《Effective C++》第三版-1. 让自己习惯C++(Accustoming Yourself to C++)
    腾讯测试大鸟分享4个关于 Python 函数(方法)的冷知识
    处理机调度
    NVIDIA CUDA Win10安装步骤
    PCL Windows 安装
    [学习笔记](b站视频)PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】(ing)
    (32)测距仪(声纳、激光雷达、深度摄影机)
    一本书,带你走出Spring新手村
    再也不想去阿里巴巴面试了,6年测开面试遭到这样打击.....
    langchain +gpt 报错 SSLError
  • 原文地址:https://blog.csdn.net/fanxl10/article/details/125439847