`

HBase0.94-Hadoop1升级至HBase1.0-Hadoop2.6

阅读更多

1.编译hadoop2
编译的开发环境安装
必要的有JDK,svn,cmake,ncurses,openssl,gcc,maven,protobuf
1. 

#yum install svn
#yum install autoconfautomake libtool cmake
#yum install openssl-devel
#yum install ncurses-devel
#yum install gcc*

 
2.安装maven
下载并解压maven:http://maven.apache.org/download.cgi

#mvapache-maven-3.1.1 /usr/local

将/usr/local/apache-maven-3.1.1/bin加载到环境变量中
3.安装protobuf
从https://code.google.com/p/protobuf/downloads/list
  中下载protobuf-2.5.0.tar.gz,解压安装包,进入protobuf根目录,执行下面命令:
 

#.configure
#make
#make check
#make install
#protoc --version
libprotoc 2.5.0

下载hadoop2源码并安装
直接从apache官网上下载最新的稳定版,此时为2.6。进入hadoop的根目录,执行下面的命令:

# mvn package -Pdist,native -DskipTests -Dtar

 

 

 

2编译hbase0.94—Hadoop2版本
环境
编译环境(JDK、Maven)
版本
hbase0.94.26,hadoop2.6.0,jdk1.7
将下载的hbase0.94.26的源码解压,修改pom.xml
将hadoop-2.0的profile里面的version修改为2.6.0
<hadoop.version>2.6.0</hadoop.version>
将protobuf的version修改为2.5.0
<protobuf.version>2.5.0</protobuf.version>
编译
命令:(指明使用hadoop2编译其中hadoop2的版本由上一条中指定为2.6.0)

# mvn -e -Dmaven.test.skip.exec=true -Dhadoop.profile=2.0 package

 

 

 

3Hadoop1升级到hadoop2
修改配置升级HDFS(本环境直接采用的硬盘镜像备份,故未涉及备份部分)
1. 修改环境变量指向新的HADOOP_HOME
2. 修改配置为hadoop1原来的配置
3. 再进行备份之后使用hadoop2的环境执行(配置文件仍使用hadoop1的配置文件):

hadoop-daemon.sh start namenode –upgrade

4. namenode升级完成后,将datanode启动,datanode会自动升级到与namenode相同版本执行:

hadoop-daemons.sh start datanode

确保每个datanode都启动完毕
5. 关闭集群,修改为hadoop2的HA配置
6. 启动所有journalnode,并初始化数据,执行:

hadoop-daemons.sh start journalnode
hdfs namenode –initializeSharedEdits

7. 启动namenode以及datanode(此处只需启动一个namenode原hadoop1的namenode)
在另一个namenode下(node2)执行:

hdfs namenode –bootstrapStandby

8. 格式化ZK ,在node1上面执行:

hdfs zkfc –formatZK

9. 重新启动hdfs(先关闭所有相关进程,然后start-dfs)
10. 启动zookeeper以及DFSZKFailoverController,执行:

hadoop-daemon.sh start zkfc

11. 定妥升级,在active namenode上面执行:

hadoop dfsadmin –finalizeUpgrade

配置文件
1. 配置core-site.xml 文件

<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/${user.name}-hadoop</value>
</property>

2. 配置mapred-site.xml 文件

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

 
3. 配置hdfs-site.xml文件
各项配置都需注意检查,并明确其具体意义

<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>node1,node2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.node1</name>
<value>node1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.node2</name>
<value>node2:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.node1</name>
<value>node1:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.node2</name>
<value>node2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.mycluster</name>
<value>true</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>node4:2181,node5:2181,node6:2181</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFail
overProxyProvider</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/hadoop/hadoop-2.4.1/tmp/journal</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>8192</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/mnt/hadoopdata/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/mnt/hadoopdata/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

 
4. 配置yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>

 
4HBase升级
HBase0.94升级到0.96
1. 编译hbase0.96.2-hadoop2.6.0,修改pom.xml中hadoop2的版本然后执行:

mvn -e -Dmaven.test.skip.exec=true -Dhadoop.profile=2.0 package -Dtar -DskipTests assembly:single -Prelease -Drequire.snappy

生成的hbase-0.96.2-bin.tar.gz位于hbase-assembly/target中。
2. 修改$NEW_HBASE_HOME中的配置执行升级,只需修改hbase-site.xml

<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>

配置hdfs-site.xml的软链接

ln $HADOOP_HOME/etc/hadoop/hdfs-site.xml hdfs-site.xml

3. 执行升级:

$NEW_HBASE_HOME/bin/hbase upgrade –check
$NEW_HBASE_HOME/bin/hbase upgrade –execute

查看日志确保regionserver中数据升级完毕,但是start-hbase.sh的时候master启动不了,可能是不支持hadoop2.6。(直接没管继续升级)
HBase0.96升级到0.98
1. 编译hbase0.98.11-hadoop2.6.0, 修改pom.xml中hadoop2的版本然后依次执行:

chmod +x $HBASE0.98_SRC/dev-support/*.sh
$HBASE0.98_SRC /dev-support/generate-hadoopX-poms.sh 0.98.11 0.98.11-hadoop2
MAVEN_OPTS="-Xmx3g" mvn -f pom.xml.hadoop2 clean install -DskipTests –Prelease
MAVEN_OPTS="-Xmx3g" mvn -f pom.xml.hadoop2 install -DskipTests site assembly:single –Prelease -DcompileSource=1.7

2. 编译hbase0.98.11时如果按照上述步骤执行可能会编译报错:
提示找不到hbase/checkstyle.xml
此时只需将hbase-checkstyle/src/main/resources/hbase/checkstyle.xml,拷贝至当前目录的新建子目录hbase下,重新执行编译命令即可
生成的hbase-0.98.11-bin.tar.gz位于hbase-assembly/target中。
3. 修改配置,直接使用原hbase0.96版的配置文件替换即可:
4. 执行升级(滚动重启):

$NEW_HBASE_HOME/bin/rolling-restart.sh

如果成功,应该可以进入shell界面进行查看,或者使用hbck命令检查HFile
HBase0.98升级到HBase1.0
1. 编译hbase1.0.0-hadoop2.6.0, 修改pom.xml中hadoop2的版本然后依次执行:

MAVEN_OPTS="-Xmx1200m -XX:MaxPermSize=256m" mvn install -DskipTests site assembly:single -Prelease -DcompileSource=1.7

2. 编译hbase0.98.11时如果按照上述步骤执行可能会编译报错:
提示找不到hbase/checkstyle-suppressions.xml
此时只需将hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml,拷贝至当前目录的新建子目录hbase下,重新执行编译命令即可
生成的hbase-1.0.0-bin.tar.gz位于hbase-assembly/target中
3. 修改配置,直接使用原hbase0.98版的配置文件替换即可:
4. 执行升级(滚动重启):

$NEW_HBASE_HOME/bin/rolling-restart.sh

如果成功,应该可以进入shell界面进行查看,或者使用hbck命令检查HFile,至此所有升级执行完成。

 

 

 

0
0
分享到:
评论

相关推荐

    hbase-hadoop-compat-1.1.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3....

    hbase-hadoop-compat-1.1.3-API文档-中英对照版.zip

    赠送jar包:hbase-hadoop-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3....

    hbase-hadoop2-compat-1.2.12-API文档-中文版.zip

    赠送jar包:hbase-hadoop2-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop2-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    hbase-hadoop2-compat-1.1.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop2-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop2-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    HBase 0.98.1-hadoop2 API

    《HBase 0.98.1-hadoop2 API》是关于HBase数据库的一个特定版本的API参考文档,主要用于帮助开发者理解和使用这个基于Hadoop的数据存储系统。HBase是Apache软件基金会开发的一个开源NoSQL数据库,它构建在Hadoop...

    hbase-hadoop-compat-1.2.12-API文档-中文版.zip

    赠送jar包:hbase-hadoop-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-...

    hbase-hadoop-compat-1.4.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop-compat-1.4.3.jar; 赠送原API文档:hbase-hadoop-compat-1.4.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.4.3....

    hbase-hadoop-compat-1.2.12-API文档-中英对照版.zip

    赠送jar包:hbase-hadoop-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-...

    hbase_0.98.13-hadoop2-bin.tar.gz

    Hadoop2版本引入了YARN(Yet Another Resource Negotiator),使得资源管理更为精细化,这对于HBase这样的实时应用来说至关重要。 三、HBase 0.98.13-hadoop2的安装步骤 1. 下载与解压:首先,你需要下载HBase的...

    hbase-hadoop1-compat-0.98.3-hadoop1.zip

    【标题】"hbase-hadoop1-compat-0.98.3-hadoop1.zip" 指的是HBase的一个特定版本,它包含了与Hadoop 1.x版本兼容的组件。HBase是Apache软件基金会的一个开源分布式数据库,设计用于处理大规模数据集。这个版本...

    hbase-0.98.7-hadoop2-bin.tar

    《深入理解HBase:以hbase-0.98.7-hadoop2-bin.tar为例》 HBase,作为Apache软件基金会的重要项目之一,是构建在Hadoop生态系统之上的一款分布式、高性能、列式存储的NoSQL数据库。它为大规模数据集提供了实时读写...

    hbase-hadoop2-compat-1.1.3-API文档-中英对照版.zip

    赠送jar包:hbase-hadoop2-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop2-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    hbase-hadoop2-compat-1.4.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop2-compat-1.4.3.jar; 赠送原API文档:hbase-hadoop2-compat-1.4.3-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    hbase-hadoop2-compat-1.2.12-API文档-中英对照版.zip

    赠送jar包:hbase-hadoop2-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop2-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    hbase-0.98.12.1-hadoop1-bin.tar.gz

    《HBase 0.98.12.1与Hadoop1集成详解》 HBase,作为Apache软件基金会的一个开源项目,是构建在Hadoop分布式文件系统(HDFS)之上的一种分布式、列式存储的数据库,特别适合处理海量半结构化数据。本文将围绕"Hbase-...

    hbase-2.5.8-hadoop3-bin.tar.gz

    就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非...

    hbase-2.2.4-bin-for-hadoop3.tar.gz

    这包括设置`HADOOP_HOME`环境变量,配置`hadoop-env.sh`和`core-site.xml`等文件。 2. 解压HBase 2.2.4 for Hadoop 3:将下载的压缩包解压到指定目录,例如`/usr/local/hbase-2.2.4`。 3. 配置HBase:编辑`hbase-...

    hbase-hadoop1-compat-0.98.7-hadoop1.zip

    tapestry-security.zip,基于shiro security的tapestry 5的tynamo安全包tapestry security是基于apache shiro的apache tapestry 5的安全模块

    hbase-0.96.2-hadoop2-bin.tar.gz

    HBase是Apache Hadoop生态系统中的一个分布式、版本化、基于列族的NoSQL数据库,它提供了高吞吐量的数据访问,特别适合于大数据分析。这个压缩包“hbase-0.96.2-hadoop2-bin.tar.gz”包含了在CentOS上安装HBase所需...

    hbase-0.98.17-hadoop2-bin.tar.gz

    HBase是Apache软件基金会的一个开源NoSQL数据库,它构建在Hadoop文件系统(HDFS)之上,设计用于处理大规模分布式数据。HBase提供了一个高可靠、高性能、可伸缩的列式存储模型,适合处理非结构化和半结构化数据。`...

Global site tag (gtag.js) - Google Analytics