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,至此所有升级执行完成。
相关推荐
赠送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....
赠送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....
赠送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-...
赠送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数据库的一个特定版本的API参考文档,主要用于帮助开发者理解和使用这个基于Hadoop的数据存储系统。HBase是Apache软件基金会开发的一个开源NoSQL数据库,它构建在Hadoop...
赠送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-...
赠送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....
赠送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-...
Hadoop2版本引入了YARN(Yet Another Resource Negotiator),使得资源管理更为精细化,这对于HBase这样的实时应用来说至关重要。 三、HBase 0.98.13-hadoop2的安装步骤 1. 下载与解压:首先,你需要下载HBase的...
【标题】"hbase-hadoop1-compat-0.98.3-hadoop1.zip" 指的是HBase的一个特定版本,它包含了与Hadoop 1.x版本兼容的组件。HBase是Apache软件基金会的一个开源分布式数据库,设计用于处理大规模数据集。这个版本...
《深入理解HBase:以hbase-0.98.7-hadoop2-bin.tar为例》 HBase,作为Apache软件基金会的重要项目之一,是构建在Hadoop生态系统之上的一款分布式、高性能、列式存储的NoSQL数据库。它为大规模数据集提供了实时读写...
赠送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-...
赠送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-...
赠送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集成详解》 HBase,作为Apache软件基金会的一个开源项目,是构建在Hadoop分布式文件系统(HDFS)之上的一种分布式、列式存储的数据库,特别适合处理海量半结构化数据。本文将围绕"Hbase-...
就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非...
这包括设置`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-...
tapestry-security.zip,基于shiro security的tapestry 5的tynamo安全包tapestry security是基于apache shiro的apache tapestry 5的安全模块
HBase是Apache Hadoop生态系统中的一个分布式、版本化、基于列族的NoSQL数据库,它提供了高吞吐量的数据访问,特别适合于大数据分析。这个压缩包“hbase-0.96.2-hadoop2-bin.tar.gz”包含了在CentOS上安装HBase所需...
HBase是Apache软件基金会的一个开源NoSQL数据库,它构建在Hadoop文件系统(HDFS)之上,设计用于处理大规模分布式数据。HBase提供了一个高可靠、高性能、可伸缩的列式存储模型,适合处理非结构化和半结构化数据。`...