您的位置:首页 > 运维架构

hadoop hbase 升级

2013-03-01 15:52 246 查看
Hadoop HDFS 与Hbase升级笔记

由于之前使用了hadoop1.0.2,hbase 使用的是hbase-0.92.1 但是一次事故导致元数据丢失,且修复元数据的类本身有BUG

所以摆在眼前的只有两条路:

1、修改hbase源码重新编译 hbase 修复BUG

2、升级到下一个版本,且这个版本已经修复了此BUG 从release node中看到 0.92.2及以后版本均修复了此bug

  所以决定升级到最新的稳定版 hbase-0.94.3 而此版本的hbase 和hadoop-1.0.4 的兼容性最好,所以hadoop 连带升级到hadoop-1.0.4

1. Hadoop升级步骤:

 (1)停止集群上的所有MR任务,包括Hbase(如果Hbase在使用中,先停掉,接着是zookeeper)

 (2)停止DFS(1、2两步也可以在hbase和zookeeper关闭后使用stop-all.sh脚本直接关闭)

 (3)删除临时数据,即在core-site.xml中设置的hadoop.tmp.dir的value所文件目录下的文件

 (4)备份HDFS元数据

 (5)将下载好的hadoop-1.0.4.tar.gz解压到要安装的目录,我这里是/home/hbase,并改名为Hadoop,并配置hadoop/conf下的相应文件

 (6)配置环境变量,如HADOOP_HOME、HADOOP_HOME_CONF等(如果你升级所用的hadoop安装目录与原来的不一致的话)

 (7)使用HADOOP_HOME/bin下的start-dfs.sh -upgrade命令升级

 (8)等待升级完毕后,使用HADOOP_HOME/bin下的hadoop fsck -blocks查看HDFS是否完整并健康运行

 (9)当集群正常并运行一段时间以后(如果确定没数据丢失,也可以立即final),使用 hadoop dfsadmin -finalizeUpgrade进行版本的序列化(在这之前如果你没有删除原来版本hadoop的,你完全可以使用start-dfs.sh -rollback返回到原来版本的hadoop)

  (10) finalizeUpgrade之后,需重启集群,空间才会释放,或hadoop namenode -finalize

 

2. Hbase升级步骤:

 (1)当hadoop升级成功后,将hbase-0.94.3.tar.gz解压到所要安装的目录,我这里是/home/hbase,并改名为Hbase

 (2)配置新版hbase下conf中的文件(如同你第一次安装hbase一样)

 (3)如果需要,也同样修改环境变量,如HBASE_HOME等

 (4)启动zookeeper

 (5)启动新版hbase

 (6)使用网页监控或者hbase shell检查hbase中的数据是否完整无缺

 

3.hadoop 升级监控

 

  bin/hadoop dfsadmin -upgradeProgress

  命令来查看版本升级的情况。

  bin/hadoop dfsadmin -upgradeProgress details

  来查看更多的详细信息。

  当升级过程被阻塞的时候,你可以使用

  bin/hadoop dfsadmin -upgradeProgress force

  来强制升级继续执行(这个命令比较危险,慎重使用)。

  当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,

  以便你可以方便的对HDFS进行降级操作。

  可以使用bin/start-dfs.sh -rollback来执行降级操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop hbase 升级