Hbase基于 hadoop,若 Hbase 直接使用 release 版本的 hadoop,可能出现数据丢失的情况,hbase 需要使用hadoop-append ,详细介绍参考Hbase
官网资料
下面以hbase-0.90.2 为例,介绍hadoop-0.20.2-append 的编译,以下操作参考:
Building an Hadoop 0.20.x version for HBase 0.90.2
操作系统:CentOS Linux
所需工具:git、ant
[zhankunlin@IctHTC ~]$ mkdir hadoop-append-for-hbase
[zhankunlin@IctHTC ~]$ cd hadoop-append-for-hbase
[zhankunlin@IctHTC hadoop-append-for-hbase]$
git clone http://git.apache.org/hadoop-common.git
[zhankunlin@IctHTC hadoop-append-for-hbase]$
cd hadoop-common
[zhankunlin@IctHTC hadoop-common]$
git checkout -t origin/branch-0.20-append
[zhankunlin@IctHTC hadoop-common]$
git show-branch branch-0.20-append
[zhankunlin@IctHTC hadoop-common]$
git show-branch release-0.20.2
[zhankunlin@IctHTC hadoop-common]$
vi ../build.properties#this is essential
resolvers=internal
#you can increment this number as you see fit
version=0.20-append-for-hbase-zkl
project.version=${version}
hadoop.version=${version}
hadoop-core.version=${version}
hadoop-hdfs.version=${version}
hadoop-mapred.version=${version}
[zhankunlin@IctHTC hadoop-common]$
ln -s ../build.properties build.properties
[zhankunlin@IctHTC hadoop-common]$ pwd
/home/zhankunlin/hadoop-append-for-hbase/hadoop-common
安装 ant
[zhankunlin@IctHTC ~]$ tar zxf apache-ant-1.8.2-bin.tar.gz
[zhankunlin@IctHTC ~]$ export PATH=/home/zhankunlin/apache-ant-1.8.2/bin:$PATH
编译 hadoop
[zhankunlin@IctHTC ~]$ cd hadoop-append-for-hbase/hadoop-common
[zhankunlin@IctHTC hadoop-common]$
git checkout branch-0.20-append确保当前在使用 branch-0.20-append
Already on 'branch-0.20-append'
[zhankunlin@IctHTC hadoop-common]$
ant mvn-install
Buildfile: /home/zhankunlin/hadoop-append-for-hbase/hadoop-common/build.xml
.
.
.
mvn-install:
[artifact:install] [INFO] Installing /home/zhankunlin/hadoop-append-for-hbase/hadoop-common/build/hadoop-core-0.20-append-for-hbase-zkl.jar to /home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-core/0.20-append-for-hbase-zkl/hadoop-core-0.20-append-for-hbase-zkl.jar
[artifact:install] [INFO] Installing /home/zhankunlin/hadoop-append-for-hbase/hadoop-common/build/hadoop-test-0.20-append-for-hbase-zkl.jar to /home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-test/0.20-append-for-hbase-zkl/hadoop-test-0.20-append-for-hbase-zkl.jar
[artifact:install] [INFO] Installing /home/zhankunlin/hadoop-append-for-hbase/hadoop-common/build/hadoop-tools-0.20-append-for-hbase-zkl.jar to /home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-tools/0.20-append-for-hbase-zkl/hadoop-tools-0.20-append-for-hbase-zkl.jar
[artifact:install] [INFO] Installing /home/zhankunlin/hadoop-append-for-hbase/hadoop-common/build/hadoop-examples-0.20-append-for-hbase-zkl.jar to /home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-examples/0.20-append-for-hbase-zkl/hadoop-examples-0.20-append-for-hbase-zkl.jar
[artifact:install] [INFO] Installing /home/zhankunlin/hadoop-append-for-hbase/hadoop-common/build/contrib/streaming/hadoop-streaming-0.20-append-for-hbase-zkl.jar to /home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-streaming/0.20-append-for-hbase-zkl/hadoop-streaming-0.20-append-for-hbase-zkl.jar
BUILD SUCCESSFUL
Total time: 11 minutes 42 seconds
可选操作:
[zhankunlin@IctHTC hadoop-common]$
ant test测试所有功能,花很长时间
[zhankunlin@IctHTC hadoop-common]$
ant test-core 测试核心功能
查看编译好的 jar包(在当前用户主目录下)
[zhankunlin@IctHTC hadoop-common]$ find ~/.m2/repository -name "hadoop-*.jar"
/home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-tools/0.20-append-for-hbase-zkl/hadoop-tools-0.20-append-for-hbase-zkl.jar
/home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-test/0.20-append-for-hbase-zkl/hadoop-test-0.20-append-for-hbase-zkl.jar
/home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-examples/0.20-append-for-hbase-zkl/hadoop-examples-0.20-append-for-hbase-zkl.jar
/home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-streaming/0.20-append-for-hbase-zkl/hadoop-streaming-0.20-append-for-hbase-zkl.jar
/home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-core/0.20-append-for-hbase-zkl/hadoop-core-0.20-append-for-hbase-zkl.jar
/home/zhankunlin/.m2/repository/org/apache/hadoop/hadoop-core/0.20.2/hadoop-core-0.20.2.jar
编译好的包有:
[zhankunlin@IctHTC hadoop-common]$ find ~/.m2/repository -name "hadoop-*.jar" | awk -F"/" '{print $11}'
hadoop-tools-0.20-append-for-hbase-zkl.jar
hadoop-test-0.20-append-for-hbase-zkl.jar
hadoop-examples-0.20-append-for-hbase-zkl.jar
hadoop-streaming-0.20-append-for-hbase-zkl.jar
hadoop-core-0.20-append-for-hbase-zkl.jar
hadoop-core-0.20.2.jar (这个包不需要)
注意:
这里 0.20-append-for-hbase-zkl 是在build.properties文件中定义的版本好号 version 值,即:
hadoop-tools-VERSION.jar
hadoop-test-VERSION.jar
hadoop-examples-VERSION.jar
hadoop-streaming-VERSION.jar
hadoop-core-VERSION.jar
将编译好的 jar 包复制出来.
[zhankunlin@IctHTC hadoop-common]$ mk ../ok_jars
[zhankunlin@IctHTC hadoop-common]$ jars=`find ~/.m2/repository -name "hadoop-*.jar"`; for jar in $jars; do cp $jar ../ok_jars/ ; done
接下来就是
将编译生成的新jar替换 hadoop-0.20.2-release 和 hbase-0.90.2 中旧的jar包
(1) 替换旧的hadoop包;
请注意,替换 hadoop 中旧的jar包前需要对编译生成的新jar包重新命名。
Hadoop 0.20.2 release 版本中jar包的命名规则为 hadoop-VERSION-PACKAGE.jar,如:hadoop-0.20.2-examples.jar。
而新编译的jar包的命名规则为 hadoop-PACKAGE-VERSION.jar,如: hadoop-examples-0.20-append-for-hbase.jar.
所以需要将新编译的jar包按如下方式重命名以符合hadoop:
hadoop-examples-0.20-append-for-hbase-zkl.jar --> hadoop-0.20-append-for-hbase-zkl-examples.jar
hadoop-test-0.20-append-for-hbase-zkl.jar --> hadoop-0.20-append-for-hbase-zkl-test.jar
hadoop-tools-0.20-append-for-hbase-zkl.jar --> hadoop-0.20-append-for-hbase-zkl-tools.jar
hadoop-streaming-0.20-append-for-hbase-zkl.jar --> hadoop-0.20-append-for-hbase-zkl-streaming.jar
hadoop-core-0.20-append-for-hbase-zkl.jar --> hadoop-0.20-append-for-hbase-zkl-core.jar
(2) 替换hbase中lib文件夹中的包
Hbase使用的命名规则为hadoop-PACKAGE-VERSION.jar,和新编译的jar包命名规则一致,所以只需要直接复制jar包到$HBASE_HOME/lib目录下,不需要重命名。
分享到:
相关推荐
《Hadoop 2.7.2与HBase的集成——深入理解hadoop-2.7.2-hbase-jar.tar.gz》 Hadoop是Apache软件基金会的一个开源项目,它为大规模数据处理提供了一个分布式计算框架。Hadoop的核心包括HDFS(Hadoop Distributed ...
Docker(Hadoop_3.3.1+HBase_2.4.16+Zookeeper_3.7.1+Hive_3.1.3 )配置文件 搭建集群环境
描述中的内容 "hadoop_hadoop-2.7.2-hbase-jar.rar" 重复了标题信息,暗示这个压缩包内包含的是HBase的相关JAR文件,可能用于在Linux环境下运行或配置HBase。 标签 "hadoop_hadoop-2." 显示了这是Hadoop的一个特定...
Hadoop-2.2.0+Hbase-0.96.2+Hive-0.13.1分布式整合,Hadoop-2.X使用HA方式
Apache HBase是一个基于Hadoop的分布式列族数据库,它针对大规模结构化数据提供高可靠性、高性能、可伸缩的实时读写访问。HBase的设计灵感来源于Google的BigTable,采用了一个增强的稀疏排序映射表的数据模型,键由...
标题 "hadoop-2.7.2-hbase-jar.zip" 暗示这是一个与Hadoop和HBase相关的归档文件,其中包含了HBase的JAR文件。Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它使得在大规模数据集上进行计算成为可能。...
hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程
标题 "hadoop-zookeeper-hbase.rar" 涵盖了三个关键组件:Hadoop、ZooKeeper 和 HBase,这些都是大数据处理和存储领域的重要技术。接下来,我们将详细探讨这三个组件及其在分布式系统中的作用。 Hadoop 是一个开源...
hadoop-mysql-hbase环境部署套装包括: hadoop-2.7.1.tar.gz hbase-1.1.5-bin.tar.gz jdk-8u162-linux-x64.tar.gz mysql-connector-java-5.1.40.tar.gz mysql-server_5.7.21-1ubuntu14.04_amd64.deb-bundle.tar
本文将详细讲解如何在CentOS 6.5系统上编译Hadoop 2.5.0 - CDH5.3.6与Snappy的源码,以生成适用于该环境的native库。 首先,我们要了解Hadoop的native库是什么。Hadoop的native库是一组C++编译的库,它们提供了与...
赠送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....
总结来说,配置Hadoop-2.4.0+Hbase-0.94.18+Nutch-2.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....
Java操作hbase完成hbase数据文件下载
mv hadoop-2.2.0 /hadoop-2.2.0 chown -R hadoop:hadoop /hadoop-2.2.0 ``` 接着,我们需要配置Hadoop的环境变量: ```bash vi /etc/profile ``` 在`/etc/profile`中添加如下内容: ```bash export JAVA_HOME=/...
Flink1.10.1编译hadoop2.7.2 编译flink-shaded-hadoop-2-uber
编译hadoophadoop-3.2.2-src的源码
在实际操作中,用户还需要了解如何使用Hadoop的命令行工具进行数据操作,如hadoop fs命令用于与HDFS交互,hbase shell用于与HBase数据库交互,hive命令行则用于执行HQL(Hive SQL)查询。此外,熟悉YARN(Yet ...
hadoop2 lzo 文件 ,编译好的64位 hadoop-lzo-0.4.20.jar 文件 ,在mac 系统下编译的,用法:解压后把hadoop-lzo-0.4.20.jar 放到你的hadoop 安装路径下的lib 下,把里面lib/Mac_OS_X-x86_64-64 下的所有文件 拷到 ...
本文将HBase-2.2.1安装在Hadoop-3.1.2上,关于Hadoop-3.1.2的安装,请参见《基于zookeeper-3.5.5安装hadoop-3.1.2》一文。安装环境为64位CentOS-Linux 7.2版本。 本文将在HBase官方提供的quickstart.html文件的指导...