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 ‘s@AM_PATH_CPPUNIT(1.10.2)@PKG_CHECK_MODULES([CPPUNIT], [cppunit])@’ src/c/configure.ac
重新打包
- 安装到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。