引言
由于开发的需要 hadoop集群的版本 要从hadoop2.2.0版本升级到 hadoop-2.5.0-cdh5.2.0版本,在升级的过程中要确保数据的完整性,故此写了下面一章关于
hadoop升级
和
增加数据节点并使得数据均衡 的博客。
正文
16个节点:FBI001 到
FBI016 集群部署如下图:
第一节:hadoop版本的升级
在安装hadoop-2.5.0-cdh5.2.0版本以前,
要执行如下命令来备份信息和停止集群:
在HADOOP_HOME下面:
1.运行dfsadmin -upgradeProgress status 检查是否存在备份 如果是第一次升级 就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束 finalize 它。)
2.备份dfs.namenode.dir下文件,同时要备份下hdfs的文件目录的元数据信息(
需要集群必须是启动状态):
cd $HADOOP_HOME
bin/hadoop fsck / -files -blocks -locations > dfs-v-old-fsck-1.log
bin/hadoop dfs -lsr / > dfs-v-old-lsr-1.log
bin/hadoop dfsadmin -report > dfs-v-old-report-1.log
3.停止所有节点 bin/stop-all.sh
在安装hadoop-2.5.0-cdh5.2.0版本以后 (
在hadoop-2.5.0-cdh5.2.0版本中的配置文件和hadoop-2.2.0版本基本相同,特别提醒要在hadoop-2.5.0-cdh5.2.0中要修改yarn-stie.xml文件。来实现RM主备切换)。
准备工作都做好了下面开始启动集群,启动时候最好把启动脚本分开执行 ,这样在启动时候去看启动日志,如果出现问题可以及时的处理。
先启动Zookeeper,ZKFC, 和J
ournalnode;
在
FBI001的HADOOP_HOME上面启动namenode的启动命令:
sbin/hadoop-daemon.sh start namenode
查看日志会报如下错误:
java.io.IOException:
File system image contains an old layout version -47.
An upgrade to version -59 is required.
Please restart NameNode with the "-rollingUpgrade started" option if a rolling upgrade is already started; or restart NameNode with the "-upgrade" option to