当前位置: 首页 > 工具软件 > Apache YARN > 使用案例 >

Apache Yarn重启,历史任务可以永久保留的几个参数

谷梁凌
2023-12-01

非HA模式下的Apache Yarn在重启以后,8088端口默认是看不到之前运行过的历史任务的,如果想要看到历史任务,只需要在yarn-site.xml里面设置三个参数即可.

<property>
        <name>yarn.resourcemanager.recovery.enabled</name>
       <!--默认值为false,也就是说resourcemanager挂了相应的正在运行的任务在rm恢复后不能重新启动-->
        <value>true</value>
</property>

<property>
        <name>yarn.resourcemanager.store.class</name>
        <!--此版本的rmstate信息存放主要有两种,一种是FileSystemRMStateStore,另一种是MemoryRMStateStore,还有一种目前较为主流的是zkstore-->                     
        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore</value>
</property>

<property>
        <name>yarn.resourcemanager.fs.state-store.uri</name>
       <!--此处配置为hdfs存储状态信息,还可以配置为存放在本地路径,之所以存放在hdfs上是考虑都如果rm节点完全挂掉,还可以在其他节点上启动rm直接读取hdfs信息,如果放在本地文件系统上还需要进行状态信息的同步。-->
        <value>file://${hadoop.tmp.dir}/yarn/system/rmstore</value>
 </property>

第三个参数默认值 是${hadoop.tmp.dir}/yarn/system/rmstore,前面如果不加file://协议,yarn会默认为hdfs路径,因为我们在core-site.xml里面设置了

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>

如果这么玩,第一次启动hadoop会报错,因为hdfs启动以后会有个30s的安全模式,启动完hdfs以后,直接启动yarn,yarn会去hdfs上创建目录,会报一个安全模式的错误,所以我在此处将信息存到了本地路径了.

 类似资料: