由于要支持hbase0.92.0的一些新特性,需要对现有的hadoop进行升级。升级流程如下:
1、关闭Hbase、Hive service、关闭hadoop集群;
2、执行hadoop dfsadmin -upgradeProgress status,显示There are no upgrades in progress,表示当前没有升级动作;
3、执行hadoop fs -lsr > /usr/local/cluster/namenode.log,执行hadoop fsck / > /usr/local/cluster/fsck.log;生成这个两个文件进行集群升级前后的对比工作;
4、下载hadoop-1.0.3.tar.gz,并解压到/usr/local/;
5、关闭hadoop集群,copy原来版本的master、slave、mapred-site.xml、core-site.xml、farischeduler.xml、hdfs-site.xml文件到新版本的conf目录中;
6、手动修改hadoop-env.sh,修改java路径、pid路径;
7、备份原来的hadoop存放namenode数据的目录目录,备份hadoop的namesecondary目录;
8、配置新的环境变量,并使用source /etc/profile使之生效;
9、执行start-dfs.sh -upgrade进行升级,可通过hadoop dfsadmin -upgradeProgress status查看状态,出现Upgrade for version -* has been completed表示升级成功;
10、把hadoop分发到各机器,并按照主服务器的配置进行配置;
11、启动hadoop集群,并执行hadoop fs -lsr >/usr/local/cluster/namenodenew.log、hadoop fsck / > /usr/local/cluster/fscknew.log生成文件;
12、对比升级前后文件,看是否有问题;
13、检查通过后hadoop dfsadmin -finalizeUpgrade升级完毕;不通过可使用stop-all.sh、start-dfs.sh -rollback进行回滚;
有些比较琐碎的步骤没写出来,本次升级花了我2个小时。