编译安装ZooKeeper
- 从开源网站获取apache-zookeeper-3.6.3.tar.gz、apache-maven-3.6.3-bin.tar.gz、OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz(ARM)或 OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz(x86)置于“/home”目录下。
- 配置Java。
ARM环境:
解压缩OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz至“/usr/local”目录。
cd /home tar -zxvf OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz -C /usr/local/
x86环境:
解压缩OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz至/usr/local目录。
cd /home tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz -C /usr/local/
- 配置Maven。
- 解压apache-maven-3.6.3-bin.tar.gz至“/usr/local”目录。
1 2
cd /home tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/
- 添加镜像。
1
vi /usr/local/apache-maven-3.6.3/conf/settings.xml
在<mirrors>中加入如下配置:
1 2 3 4 5
<mirror> <id>huaweicloud</id> <mirrorOf>*</mirrorOf> <url>https://repo.huaweicloud.com/repository/maven/</url> </mirror>
若存在Maven未配置代理问题,可在settings.xml的<proxies>段增加<proxy>配置代理。
- 解压apache-maven-3.6.3-bin.tar.gz至“/usr/local”目录。
- 配置Java和Maven的环境变量。
- 修改环境变量。
1
vi /etc/profile
在文件末尾添加如下内容:
1 2 3 4 5
export JAVA_HOME=/usr/local/jdk8u282-b08 export PATH=${JAVA_HOME}/bin:$PATH MAVEN_HOME=/usr/local/apache-maven-3.6.3 export MAVEN_HOME export PATH=${PATH}:$MAVEN_HOME/bin
- 使环境变量生效。
1
source /etc/profile
- 验证安装是否成功。
1
mvn -v
若正确打印版本信息则安装成功,若失败请检查安装步骤并重新安装。
- 修改环境变量。
- 安装ZooKeeper编译依赖。
1
yum install cppunit cppunit-devel hostname autoconf libtool libsysfs automake -y
- 编译ZooKeeper源码。
- 解压apache-zookeeper-3.6.3.tar.gz。
1 2
cd /home tar -zxvf apache-zookeeper-3.6.3.tar.gz
- 编译zookeeper-jute。
1 2
cd apache-zookeeper-3.6.3/zookeeper-jute mvn clean install -DskipTests
- 编译zookeeper-c。
1 2
cd ../zookeeper-client/zookeeper-client-c mvn clean install -DskipTests
gcc -v查看gcc版本是否不低于7.3.0,否则需要yum install gcc-7.3.0。
- 解压apache-zookeeper-3.6.3.tar.gz。
- 拷贝“/home/apache-zookeeper-3.6.3/zookeeper-client/zookeeper-client-c/target/c/include/zookeeper”的全部文件至“/usr/include”。
1
cp /home/apache-zookeeper-3.6.3/zookeeper-client/zookeeper-client-c/target/c/include/zookeeper/* /usr/include/
- 拷贝“/home/apache-zookeeper-3.6.3/zookeeper-client/zookeeper-client-c/target/c/lib/”的全部文件至“/usr/lib64”。
1
cp /home/apache-zookeeper-3.6.3/zookeeper-client/zookeeper-client-c/target/c/lib/* /usr/lib64/

涉及到ZooKeeper相关安全漏洞的补丁,需要客户自行打包处理。
父主题: 软件编译