首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

hdfs 晋级,cdh3 升级 cdh4

2013-08-06 
hdfs 升级,cdh3 升级 cdh4Step 1: 备份下 HDFS 的 Metadata即备份 dfs.name.dir 下面的元数据?Step 2: 下

hdfs 升级,cdh3 升级 cdh4

Step 1: 备份下 HDFS 的 Metadata

即备份 dfs.name.dir 下面的元数据

?

Step 2: 下载 CDH4,把CDH3的配置拷过来

注意CDH3配置文件是在conf目录下面,CDH4的配置文件目录已经改成了etc/hadoop目录

?

Step 3: 升级 HDFS Metadata

3.1 进入CDH4目录下执行:?

sbin/hadoop-daemon.sh start namenode -upgrade -clusterid mycluster-test

说明mycluster-test是clusterid,可以指定,也可以不指定,如果不指定那么系统会自动生成一个

3.2 查看日志目录下的namenode日志,如果出现:

Upgrade of ${dfs.namenode.name.dir} is complete

说明元数据已经升级成功

3.3 启动DataNodes:

在每一台datanode上面启动datanode服务

sbin/hadoop-daemons.sh start datanode

datanode节点会自动升级

3.4 等待namenode退出安全模式,然后执行fsck

bin/hdfs fsck /

3.5 确认目录健康,没有block丢失后可以执行finalzeUpgrade及启动secondarynamenode

bin/hdfs dfsadmin -finalizeUpgrade

#finalized后将不能rollback

sbin/hadoop-daemon.sh start secondarynamenode

#请清理掉dfs.namenode.checkpoint.dir目录下老版本文件,否则会启动失败

?

回滚操作:

若在升级过程中出了问题,想回滚到cdh3版本,一定不能执行bin/hdfs dfsadmin -finalizeUpgrade。在执行finalizeUpgrade之前都可以回滚

?

在cdh3 版本下面执行

(1)回滚Namenode

bin/hadoop-daemon.sh start namenode -rollback

(2)回滚DataNode

bin/hadoop-daemon.sh start datanode -rollback

?

也可以手工操作,把数据move回来,然后正常启动

(1)回滚Namenode的数据

remove dfs.name.dir/current目录,mv dfs.name.dir/previous dfs.name.dir/current目录

这样子就恢复回namenode的元数据了

(2)回滚DataNode的数据

remove dfs.data.dir/current目录,mv dfs.data.dir/previous dfs.data.dir/current目录

这样子就恢复回datanode的数据了

操作完后就可以重新启动cdh3版本了

?

?

总的来说,升级是:mv?current?previous,创建current,读旧的元数据,写成新版本到current里面,而DataNode节点上面的block数据通过hardlink来放到current目录下面

? ? ? ? ? ? ? ? ?回滚是:rm current,mv previous current

?

?

?

?

热点排行