Hadoop:HDFS升级和回滚机制
来源:互联网 发布:喀秋莎火箭炮 知乎 编辑:程序博客网 时间:2024/05/17 09:28
Hadoop培训教程:HDFS升级和回滚机制,作为一个大型的分布式系统,Hadoop内部实现了一套升级机制,当在一个集群上升级Hadoop时,像其他的软件升级一样,可能会有新的bug或一些会影响现有应用的非兼容性变更出现。在任何有实际意义的HDFS系统中,丢失数据是不允许的,更不用说重新搭建启动HDFS了。当然,升级可能成功,也可能失败。如果失败了,那就用rollback进行回滚;如果过了一段时间,系统运行正常,那就可以通过f?inalize正式提交这次升级。相关升级和回滚命令如下:
bin/hadoop namenode -upgrade // 升级
bin/hadoop namenode -rollback // 回滚
bin/hadoop namenode -f?inalize // 提交
bin/hadoop namenode -importCheckpoint // 从Checkpoint恢复
上述命令的importCheckpoint参数用于NameNode发生故障后,从某个检查点恢复。HDFS允许管理员退回到之前的Hadoop版本,将集群的状态回滚到升级之前。在升级之前,管理员需要用以下命令删除已存在的备份文件:
bin/hadoop dfsadmin –f?inalizeUpgrade // 升级终结操作
下面简单介绍一下一般的升级过程。
在升级Hadoop软件之前,检查是否已经存在一个备份,如果备份存在,可执行升级终结操作删除这个备份。通过以下命令能够知道是否需要对一个集群执行升级终结操作:
dfsadmin -upgradeProgress status
1)停止集群并部署Hadoop的新版本。
2)使用-upgrade选项运行新的版本(bin/start-dfs.sh -upgrade)。
在大多数情况下,集群都能够正常运行。一旦我们认为新的HDFS运行正常(也许经过几天的操作之后),就可以对其执行升级终结操作。需要注意的是,在对一个集群执行升级终结操作之前,删除那些升级前就已经存在的文件并不会真正地释放DataNode上的磁盘空间。
如果需要退回到老版本,执行步骤如下:
1)停止集群并部署Hadoop的老版本。
2)用回滚选项启动集群,命令如下:
bin/start-dfs.h -rollback
上面介绍了HDFS升级和回滚的基本机制,其实可以从状态转移的角度来理解HDFS的升级和回滚机制。整个HDFS的状态有:Normal,Upgraded,Rollbacking,Upgrading,Finalizing五种,HDFS集群的状态转移示意图,如图3-8所示。
从图3-8中可以看出,升级、回滚、提交都不可能一下完成,这也就是说,在HDFS系统出现故障时,集群可能处于图3-8右侧图中某一个状态中。特别是在分布式的各个节点上,甚至可能出现有些节点已经升级成功,但有些节点可能处于中间状态的情况,所以Hadoop采用类似于数据库事务的升级机制也就很容易理解了。来源:CUUG官网
- Hadoop:HDFS升级和回滚机制
- hadoop集群升级失败回滚策略
- Hadoop的HDFS机制
- Hadoop中HDFS和MapReduce的概念和机制
- oracle的回滚和撤销机制
- oracle的回滚和撤销机制
- oracle的回滚和撤销机制
- 【Hadoop】HDFS笔记(二):HDFS的HA机制和Federation机制
- Hadoop:HDFS文件存取机制
- Hadoop和HDFS
- Hadoop HDFS 升级到2.0 笔记
- 前滚和回滚
- 前滚和回滚
- Hadoop入门-2.HDFS原理和工作机制(基于hadoop-2.7.3)
- hadoop自学轨迹-深入了解HDFS机制
- hadoop中HDFS读写机制解析
- Hadoop中HDFS的存储机制
- Hadoop的HDFS文件存储实现机制
- Hadoop:HDFS负载均衡
- 栈和队列的理解
- [leetcode] 268. Missing Number
- java、Android中Math的一些用法
- EasyUi Datagrid的基础使用
- Hadoop:HDFS升级和回滚机制
- android 开发中遇到的问题
- SCSI:Why Auto contingent allegiance is needed?
- UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】
- poj 2142 The Balance
- ACM593
- 文件上传下载
- android之ListView多次调用getView解决办法
- 语法分析:自下而上分析