一直深深困扰我的问题——hadoop 重启集群后,之前运行的job运行状态都丢失了

努力之后总是存在回报的,我花了三天时间终于找到了问题所在:

配置文件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,正在测试中,2.2版本还未提供-->                     

        <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>hdfs://mycluster/rmstore</value>
 </property>

另外附上 官网地址:http://hadoop.apache.org/docs/r2.6.5/hadoop-yarn/hadoop-yarn-common/yarn-default.xml 

其他版本自己参考 :

个人网站:   http://blog.tbnb1.cn 后期更新全部移到此网站更新

原文地址:https://www.cnblogs.com/java-synchronized/p/8999326.html