Hbase从0.94.11升级到stable的1.4.9版本:

升级思路:

hadoop1.1.2    hbase 0.94.11

                           

hadoop1.1.2    hbase 0.96.0-hadoop1

                           

hadoop1.1.2    hbase 0.98.0-hadoop1

                           

Hadoop2.2.0    hbase 0.98.0-hadoop1

                           

hadoop2.5.0    hbase 0.98.0-hadoop1

                           

hadoop2.5.0    hbase 0.98.0-hadoop2

                           

hadoop2.5.0    hbase 1.0.1.1

                           

hadoop2.5.0    hbase 1.3.0

                           

hadoop2.5.0    hbass 1.4.9

0.94.11 hadoop1.1.2=> hbase 0.96.0-hadoop1hadoop1.1.2

先安装配置好habse0.96.0后,直接运行habse96版本,hmaster没有启动。

打开master日志,HBase file layout needs to be upgraded.  You have version 7 and I want version 8.  Is your hbase.rootdir valid?  If so, you may need to run 'hbase hbck -fixVersionFile'.

因此必须在96版本下进行update.

   步骤:

    先将hbase0.94.11关闭,下载hbase0.96.0。解压配置(此步骤和配置0.94.11相同)。

      然后在habse0.96.0上运行./bin/hbase upgrade -check来检查hfilev1是否已经完全重写(bin/hbase upgrade -check -dir /myHBase/testable 来检查特定的表。)

     确认无误后,只启动hbase0.96.0的zookeeper。

      ./hbase/bin/hbase-daemon.sh start zookeeper

      最后,执行bin/hbase upgrade –execute . 完成最后的升级操作。

      然后再关闭hbase0.96.0的zookeeper

./hbase/bin/hbase-daemon.sh stop zookeeper

    最后,启动hbase0.96.0,进入shell后,查看文件的完整性。

hbase 0.96.0-hadoop1hadoop1.1.2 => hbase 0.98.0-hadoop1hadoop1.1.2

\hbase0.96必须关闭。

   安装配置好hbase0.98.0-hadoop1,配置(步骤和0.94.11相同)

开启hbase0.98,实现无缝对接。

  此处注意:,HBase 0.98版本保持与0.96版本的兼容,两个版本的客户端和服务器端之间可以无缝互操作。但是0.98版本并没有计划与0.96以及早期版本的Java API保持二进制兼容,因此可能需要重新编译应用程序

hbase 0.98.0-hadoop1hadoop1.1.2 => hbase 0.98.0-hadoop1hadoop2.2.0

步骤:

    1.关闭habase

2.在hadoop1.1.2上先看一下数据,确保数据存在

3.关掉所有hadoop1.1.2的进程,并将关于Hadoop1.1.2所有的相关的环境变量(HADOOP_HOME、PATH等相关环境变量配置)删掉(如果有),以防对Hadoop2.2.0升级的影响。

    4.安装配置hadoop2-2.0, 将Hadoop2的${HADOOP_HOMOE}/etc/hadoop/hdfs-site.xml中dfs.namenode.name.dir和dfs.datanode.data.di属性的值分别指向Hadoop1的${HADOOP_HOME}/conf/hdfs-site.xml中                     dfs.name.dir和dfs.data.dir的值。

    5.启动hadoop2.2.0.

./sbin/start-dfs.sh

    6.会发现错误,去logs/hadoop-aa-namenode-master.log,会看到:

      FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join

      java.io.IOException:

      File system image contains an old layout version -32.

      An upgrade to version -47 is required.

      Please restart NameNode with -upgrade option.

    于是,执行./sbin/hadoop-daemon.sh start namenode –upgrade

    最后在jps一下,可以看到都正常启动了。

     7.最后查看数据,同时登陆web管理界面。

8. 升级完成后,会在namenode的dfs.namenode.name.dir目录和dfs.datanode.data.dir目录下多出一个previous/ 目录。如果确认升级成功后,可以根据实际情况决定是否需要删掉这个目录,运行以下命令把以           前的版本删掉:

bin/hdfs dfsadmin –finalizeUpgrade

    (-finalizeUpgrade 不是升级必须的,所以根据实际情况去执行。一旦执行该命令,会删掉旧版本数据,以后就不能回滚了。)

如果失败,数据回滚:

      如果升级失败,可以随时回滚,回滚,数据会回滚到升级前那一刻的数据,升级后的数据修改,全部失效,回滚启动步骤如下:

       1. 启动namenode: /usr/local/hadoop1.0.2/bin/hadoop-daemon.sh start namenode –rollback

       2.  启动datanode: /usr/local/hadoop1.0.2/bin/hadoop-daemon.sh start datanode –rollback

hbase 0.98.0-hadoop1hadoop2.2.0 => hbase 0.98.0-hadoop1hadoop2.5.0

步骤基本和上部基本一致,master日志错误:

      java.io.IOException:

      File system image contains an old layout version -47.

      An upgrade to version -57 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 start a new upgrade.

hbase 0.98.0-hadoop1hadoop2.5.0 => hbase 0.98.0-hadoop2hadoop2.5.0

    安装好hbase0.98-hadoop2.

    配置好,其中rootdir必须指向hadoop2.5.0的数据目录。(如果hadoop2.5从其他版本升级过来,也就是hadoop2.5.0的数据路径指向原来hadoop的数据路径,那么hbase的就指向原来hadoop的数据路径)

hadoop2.5.0    hbase 0.98.0-hadoop2 => hadoop2.5.0    hbase 1.0.1.1

    \hbase0.98-hadoop2必须关闭。

    安装配置好hbase1.0.11,配置(步骤和0.94.11相同)

     开启hbase1.0.11,实现无缝对接。

    此处注意:,HBase 0.98版本保持与1.0.11版本的兼容,两个版本的客户端和服务器端之间可以无缝互操作。但是0.98版本并没有计划与1.0.11以及早期版本的Java API保持二进制兼容,因此可能需要重新编译        应用程序,来获得1.x版本的新特性。

hadoop2.5.0    hbase 1.0.1.1 => hadoop2.5.0    hbase 1.3.0

  \hbase1.0.1.1必须关闭。

  安装配置好hbase1.3.0,配置(步骤和0.94.11相同)

开启hbase1.3.0,实现无缝对接。

hadoop2.5.0    hbase 1.3.0=> hadoop2.5.0    hbase 1.4.9

  \hbase1.3.0必须关闭。

  安装配置好hbase1.4.9,配置(步骤和0.94.11相同)

开启hbase1.4.9,实现无缝对接.

伪分布式hbase从0.94.11版本升级stable的1.4.9版本的更多相关文章

  1. Ubuntu 14.10 下安装伪分布式hbase 0.99.0

    HBase 安装分为:单击模式,伪分布式,完全分布式,在单机模式中,HBase使用本地文件系统而不是HDFS ,所有的服务和zooKeeper都运作在一个JVM中.本文是安装的伪分布式. 安装步骤如下 ...

  2. 伪分布式hbase数据迁移汇总

    https://www.jianshu.com/p/990bb550be3b hbase0.94.11(hadoop为1.1.2,此电脑ip为172.19.32.128)向hbase1.1.2 (ha ...

  3. HBase(0.94.5)的Compact和Split源码分析

    经过对比,0.94.5以后版本主要过程基本类似(有些新功能和细节增加) 一.       Compact 2.1.   Compact主要来源 来自四个方面:1.Memstoreflush时:2.HR ...

  4. 伪分布式下Hadoop3.0打不开localhost:50070

    伪分布式下Hadoop打不开localhost:50070,可以打开localhost:8088 1.对hdfs进行format hadoop namenode -format 在选择Y/N时输入大写 ...

  5. 避坑之Hadoop安装伪分布式(Hadoop3.2.0/Ubuntu14.04 64位)

    一.安装JDK环境(这个可以网上随意搜一篇教程了照着弄,这里不赘述) 安装成功之后 输入 输入:java -version 显示如下说明jdk安装成功(我这里是安装JDK8) 二.安装Hadoop3. ...

  6. 安装伪分布式hbase 0.99.0

    查看是否启动成功,输入jps,看到有HMaster和HQuorumPeer,浏览器输入http://localhost:16030/master-status,能打开说明成功 hbase(main): ...

  7. Ubuntu 14.10 下安装伪分布式hive-0.14.0

    本地独立模式,MySQL作为元数据库 1 安装环境准备 1.1 安装JDK,在安装hadoop时候已经安装了,参考http://www.cnblogs.com/liuchangchun/p/40972 ...

  8. windows下eclipse连接ubuntu伪分布式hadoop2.6.0

    环境: win10 jdk1.7 hadoop2.6.0 linux虚拟机 Ubuntu14.04 首先把安装在Ubuntu上的hadoop2.6.0.tar.gz复制到windows系统上,解压到任 ...

  9. 伪分布式hadoop1.1.2和hbase0.94.11配置

    Hadoop 1.1.2 和Hbase 0.94.11版本配置 测试时ip  172.19.32.128 这个版本需要把/etc/hosts的aa-vm改成127.0.0.1,也就是和localhos ...

随机推荐

  1. Solidity函数view,pure,constant的用法

    函数访问权限:public,external,private,internal //子类可以得到父类下面的方法,父类用了public,external的话 pragma solidity ^; con ...

  2. 洛谷P4689 [Ynoi2016]这是我自己的发明 [莫队]

    传送门 ynoi中比较良心不卡常的题. 思路 没有换根操作时显然可以变成dfs序莫队随便搞. 换根操作时一个子树可以变成两段区间的并集,也随便搞搞就好了. 这题完全不卡常,随便过. 代码 #inclu ...

  3. Confluence 6 隐藏人员目录

    人员目录提供了你 Confluence 中所有用户的列表. 如果你希望禁用人员目录,请在你应用程序命令行中的 Configuring System Properties 进行设置. 希望为匿名用户禁用 ...

  4. Confluence 6 home 目录中的内容

    Confluence home 目录存储了 Confluence 在运行中所使用的数据.下面对 Confluence home 目录中使用的数据和文件进行一些说明: confluence.cfg.xm ...

  5. Confluence 6 配置默认语言界面

    Confluence 6 配置默认语言使用的界面. https://www.cwiki.us/display/CONFLUENCEWIKI/Choosing+a+Default+Language

  6. java多线程快速入门(二十)

    1.Java.util的线程安全工具类 Vector(线程安全) ArrayList(线程不安全) HashTable(线程安全) HashMap(线程不安全) 2.将线程不安全集合变为线程安全集合 ...

  7. Anaconda创建caffe和tensorflow共存环境

    一.前言 安装环境: Anaconda Ubuntu 二.安装步骤 我们分几步进行,anconda的安装和使用方法就不讲解了.我们直接安装caffe和tensorflow. 1.创建虚拟环境 我们先创 ...

  8. bzoj1123 割点性质应用

    删掉无向图上任意一点,请求出将会增加的不连通的点对数 将无向图联通性的问题转化到搜索树方向上考虑 如果一个点不是割点,那么删掉该点的答案很简单,就是2*(n-1) 如果点u是割点,同时u在搜索树上有t ...

  9. C++中的继承(1) 继承方式

    1.继承与派生  继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一.简单的说,继承是指一个对象直接使用另一对象的属性和方法.继承呈现了 面向对象程序设 计的层次结构, 体现了 由简单 ...

  10. 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)

    论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...