下载源码
下载地址:http://hbase.apache.org/downloads.html
Releases
Version | Release Date | Compatibility Report | Changes | Release Notes | Download | Notices |
---|---|---|---|---|---|---|
2.3.0 | 2020/07/13 | 2.2.0 vs 2.3.0 | Changes | Release Notes | src (sha512 asc) bin (sha512 asc) client-bin (sha512 asc) | |
2.2.5 | 2020/05/21 | 2.2.5 vs 2.2.4 | Changes | Release Notes | src (sha512 asc) bin (sha512 asc) client-bin (sha512 asc) | stable release |
1.6.0 | 2020/03/06 | 1.5.0 vs 1.6.0 | Changes | Release Notes | src (sha512 asc) bin (sha512 asc) | |
1.4.13 | 2020/02/29 | 1.4.12 vs 1.4.13 | Changes | Release Notes | src (sha asc) bin (sha asc) | |
1.3.6 | 2019/10/20 | 1.3.5 vs 1.3.6 | Changes | Release Notes |
我们选择一个版本进行下载,这里我们选择 1.3.6.
下载完后,进行解压
编译准备
编译平台
win10
编译工具:
git bash
编译设置
过程中,需要占用一定的内存,我们需要为此设置一些内存参数。还有就是win10本地的默认编码是GBK, 而源码基本上是utf-8编码的,这一点也需要进行设置. 在源码根目录下,打开git bash, 进行如下设置
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1g -Dfile.encoding=UTF-8"
现在查看编译的编码方式
Administrator@BF-201905281450 MINGW64 /d/idea_projects/hbase-1.3.6
$ mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\base_service_tools\apache-maven-3.6.3
Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: D:\base_service_tools\jdk1.8.0_241\jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Default locale: zh_CN, platform encoding: UTF-8 , 这一行信息说明,我们的编译编码方式已经变成utf-8了
正式编译
源码解压后,进入源码根目录
hbase底层需要依赖hadoop, 因此编译它,需要选择一个hadoop版本。如果不选择,1.3.6版本的hbase默认依赖的hadoop2版本是2.5.1。不信,我们打开根目录的pom文件
从这两个图中一眼就能看出来。这个版本很可能不是我们想要的。如果想要指定其他的版本,该怎么办呢,改pom文件?千万不要!该如何规范操作呢?关于这一点,官网有如下的说明
HBase supports building against Apache Hadoop versions: 2.y and 3.y (early release artifacts). By default we build against Hadoop 2.x.
To build against a specific release from the Hadoop 2.y line, set e.g. -Dhadoop-two.version=2.7.4.
mvn -Dhadoop-two.version=2.7.4 ..
原来只需要一个参数就可以了。
开始编译
我们指定编译的hadoop版本是2.7.4,执行如下命令!
mvn clean package -DskipTests -Dhadoop-two.version=2.7.4 assembly:single
15分钟过去后
[INFO] No ant target defined - SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache HBase 1.3.6:
[INFO]
[INFO] Apache HBase ....................................... SUCCESS [02:14 min]
[INFO] Apache HBase - Checkstyle .......................... SUCCESS [ 24.490 s]
[INFO] Apache HBase - Resource Bundle ..................... SUCCESS [ 0.214 s]
[INFO] Apache HBase - Annotations ......................... SUCCESS [ 1.361 s]
[INFO] Apache HBase - Protocol ............................ SUCCESS [ 16.163 s]
[INFO] Apache HBase - Common .............................. SUCCESS [01:31 min]
[INFO] Apache HBase - Procedure ........................... SUCCESS [ 2.045 s]
[INFO] Apache HBase - Client .............................. SUCCESS [ 7.835 s]
[INFO] Apache HBase - Hadoop Compatibility ................ SUCCESS [ 0.767 s]
[INFO] Apache HBase - Hadoop Two Compatibility ............ SUCCESS [ 20.701 s]
[INFO] Apache HBase - Prefix Tree ......................... SUCCESS [ 2.057 s]
[INFO] Apache HBase - Server .............................. SUCCESS [02:21 min]
[INFO] Apache HBase - Testing Util ........................ SUCCESS [ 2.463 s]
[INFO] Apache HBase - Thrift .............................. SUCCESS [ 19.911 s]
[INFO] Apache HBase - Rest ................................ SUCCESS [ 4.472 s]
[INFO] Apache HBase - Shell ............................... SUCCESS [05:54 min]
[INFO] Apache HBase - Integration Tests ................... SUCCESS [ 21.812 s]
[INFO] Apache HBase - Examples ............................ SUCCESS [ 2.881 s]
[INFO] Apache HBase - External Block Cache ................ SUCCESS [ 16.257 s]
[INFO] Apache HBase - HBTop ............................... SUCCESS [ 1.795 s]
[INFO] Apache HBase - Assembly ............................ SUCCESS [ 9.277 s]
[INFO] Apache HBase - Shaded .............................. SUCCESS [ 0.088 s]
[INFO] Apache HBase - Shaded - Client ..................... SUCCESS [ 0.856 s]
[INFO] Apache HBase - Shaded - Server ..................... SUCCESS [ 1.026 s]
[INFO] Apache HBase Shaded Packaging Invariants ........... SUCCESS [ 11.114 s]
[INFO] Apache HBase - Archetypes .......................... SUCCESS [ 0.052 s]
[INFO] Apache HBase - Exemplar for hbase-client archetype . SUCCESS [ 32.360 s]
[INFO] Apache HBase - Exemplar for hbase-shaded-client archetype SUCCESS [ 2.505 s]
[INFO] Apache HBase - Archetype builder ................... SUCCESS [ 8.662 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15:33 min
[INFO] Finished at: 2020-07-18T16:11:03+08:00
[INFO] ------------------------------------------------------------------------
编译hbase圆满完成!
应该说,在所有大数据组件中,相比hadoop, spark, hbase的编译时比较简单的.