1. 程式人生 > >012-Ambari二次開發之元件Zookeeper,Kafka,Hadoop編譯

012-Ambari二次開發之元件Zookeeper,Kafka,Hadoop編譯

Zookeeper是大資料生態圈元件之間協調的基礎元件。本篇我們開始編譯基於HDP3.0版本棧的Zookeeper。
關注微信公眾號,獲取更多內容
在這裡插入圖片描述
Zookeeper編譯

  1. 安裝ant,Zookeeper依賴於ANT編譯,所以需要安裝ant
    yum install ant
  2. 編譯
    在這裡我們指定的是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
    在這裡插入圖片描述
  3. 打包
    ant package tar -Dversion=3.4.6.3.0.0.0-1634 -f build.xml
    我們在編譯的時候出現如下錯誤,解決方法:
    sed -i -e ‘
    [email protected]
    _PATH_CPPUNIT(1.10.2)@PKG_CHECK_MODULES([CPPUNIT], [cppunit])@’ src/c/configure.ac
    在這裡插入圖片描述
    重新打包
    在這裡插入圖片描述
  4. 安裝到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
    在這裡插入圖片描述
  5. 將測試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編譯

  1. 安裝gradle
    kafka編譯需要gradle,需要下載並配置環境變數。
    https://gradle.org/releases/?_ga=2.140075258.850609145.1533014212-2095602238.1533014212

  2. 切換到kafak原始碼目錄下並執行 gradle wrapper,第一次執行比較慢,需要下載檔案
    在這裡插入圖片描述

  3. 執行編譯
    ./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編譯

  1. maven 安裝
    我們使用的是3.3.9 版本,下載地址
    https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/
    下載完後,解壓並設定環境變數。配置完後,可以通過 maven -version驗證。
    替換為國內源,速度比較快,編輯maven安裝路徑下的 conf/setting.xml,新增如下內容
    在這裡插入圖片描述

  2. 安裝環境依賴包
    yum install gcc gcc-c++ fuse-devel fuse openssl-devel ncurses-devel cmake autoconf automake libtool
    在這裡插入圖片描述

  3. 編譯
    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。