hbase源码编译(一)

一:环境:

  1.1. 安装jdk,配置环境变量,验证:进入cmd环境,输入java -version验证

C:\WINDOWS\system32>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

       1.2. 安装maven,验证:进入cmd环境,输入mvn验证

C:\WINDOWS\system32>mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: E:\java\apache-maven-3.5.0\bin\..
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: E:\Program Files\Java\jdk1.8\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"

       1.3. 安装cygwin ( 编译需要用到bash ,官网:https://cygwin.com/install.html  安装笔记参考...

          安装完成后将cygwin/bin目录加入到系统环境变量PATH中,重启eclipse(ides)

  验证:进入cmd环境,输入bash,跳转到cygwin环境中即安装成功。

C:\Windows\System32>bash

admin@DESKTOP-234IJAK /cygdrive/c/Windows/System32

 

二:源码编译

  2.1 从github中下载hbase源码( 本人编译源码的版本为hbase2.0),导入eclpse.

  2.2 在eclipse中编译单个模块(编译整个模块有可能报错),先编译hbase-thrift(无依赖), hbase-common(需要bash环境)进行验证

   在改包目录下执行 mvn clean install -DskipTests  或者在eclpse中邮件项目 ->    Run As   -> Maven build   ->   Main   ->   goals中输入clean install -DskipTests, 点击Run 

编译执行结果如下:

  2.3 编译hbase-common如果遇到不能执行bash的问题

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (generate) on project hbase-common: 
An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "bash": CreateProcess error=2, 系统找不到指定的文件。 -> [Help 1]

  可以依次尝试设置cygwin的环境变量:a. 同时添加到用户的环境变量PATH中,    b. 将环境变量放在最前面    c.重启电脑(我最后是重新后可以的)。

     2.3.1 网友反馈的src/saveVersion.sh中 whoami的问题,我在使用了cygwin后试验了一下,及时不设置固定值也是可以的。

   2.4 编译hbase-common没有问题后,可以编译hbase-client或者 hbase-server。

编译整个hbase项目时。遇到几个模块编译失败,暂时是注释掉了,也不影响看源码。

猜你喜欢

转载自www.cnblogs.com/lancelot-zj/p/10386609.html
今日推荐