012-Ambari二次開發之元件Zookeeper,Kafka,Hadoop編譯
Zookeeper是大資料生態圈元件之間協調的基礎元件。本篇我們開始編譯基於HDP3.0版本棧的Zookeeper。
關注微信公眾號,獲取更多內容
Zookeeper編譯
- 安裝ant,Zookeeper依賴於ANT編譯,所以需要安裝ant
yum install ant - 編譯
在這裡我們指定的是HDP棧版本,3.4.6.3.0.0.0-1634,編譯完的所有檔案都在build目錄下。
ant clean compile -Dversion=3.4.6.3.0.0.0-1634 -f build.xml
- 打包
ant package tar -Dversion=3.4.6.3.0.0.0-1634 -f build.xml
我們在編譯的時候出現如下錯誤,解決方法:
sed -i -e ‘
重新打包
- 安裝到maven倉庫中,供其他元件呼叫
mvn install:install-file -DcreateChecksum=true -DgroupId=org.apache.zookeeper -DartifactId=zookeeper -Dversion=3.4.6.3.0.0.0-1634 -Dpackaging=jar -Dfile=build/zookeeper-3.4.6.3.0.0.0-1634.jar
- 將測試jar包安裝到maven倉庫中
mvn install:install-file -DcreateChecksum=true -DgroupId=org.apache.zookeeper -DartifactId=zookeeper -Dversion=3.4.6.3.0.0.0-1634 -Dpackaging=jar -Dfile=build/zookeeper-3.4.6.3.0.0.0-1634-test.jar
Kafka編譯
-
安裝gradle
kafka編譯需要gradle,需要下載並配置環境變數。
https://gradle.org/releases/?_ga=2.140075258.850609145.1533014212-2095602238.1533014212 -
切換到kafak原始碼目錄下並執行 gradle wrapper,第一次執行比較慢,需要下載檔案
-
執行編譯
./gradlew -PscalaVersion=2.11 clean install releaseTarGz -x signArchives -Drepo.maven.org=file:///home/zhangxiong/local/repo/ -DskipTests -DrecompileMode=all
scalaVersion表示scala版本,repo.maven.org表示maven倉庫地址,這個第一次執行時間比較長,執行了3個小時,需要下載很多檔案,當然和網路也有關係。
Hadoop編譯
-
maven 安裝
我們使用的是3.3.9 版本,下載地址
https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/
下載完後,解壓並設定環境變數。配置完後,可以通過 maven -version驗證。
替換為國內源,速度比較快,編輯maven安裝路徑下的 conf/setting.xml,新增如下內容
-
安裝環境依賴包
yum install gcc gcc-c++ fuse-devel fuse openssl-devel ncurses-devel cmake autoconf automake libtool
-
編譯
mvn -Dsnappy.prefix=x -Dbundle.snappy=true -Dsnappy.lib=/usr/lib -Pdist -Pnative -Psrc -Dtar-Dzookeeper.version=3.4.6.3.0.0.0-1634 -DskipTests -DskipTest -DskipITs -Dtomcat.version=6.0.48 -Dtomcat.download.url=“http://192.168.70.52/dependency-packages/apache-tomcat-6.0.48.tar.gz” install
以上就是基於HDP3.0.0站版本的Zookeeper,Kafka,Hadoop的編譯,下一篇我們將介紹如何編譯Kafka。