Hbase 1.3.6 源码编译

下载源码

下载地址: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

src (sha asc)
bin (sha asc)

我们选择一个版本进行下载,这里我们选择 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的编译时比较简单的.

猜你喜欢

转载自blog.csdn.net/dinghua_xuexi/article/details/107430385