编译安装ZooKeeper
涉及到ZooKeeper相关安全漏洞的补丁,需要用户自行打包处理。
- 从开源网站获取软件包并置于“/home”目录下。
所需软件包:
- 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)
- 配置Java。
- 配置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/
- 修改“settings.xml”文件,添加镜像。
1
vim /usr/local/apache-maven-3.6.3/conf/settings.xml
- 按“i”键进入编辑模式,在<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>配置代理。
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 解压“apache-maven-3.6.3-bin.tar.gz”至“/usr/local”目录。
- 配置Java和Maven的环境变量。
- 打开“profile”文件。
1
vim /etc/profile
- 按“i”键进入编辑模式,在文件末尾添加如下内容。
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
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 使环境变量生效。
1
source /etc/profile
- 验证安装是否成功。
1
mvn -v
若正确打印版本信息则安装成功,若失败请检查安装步骤并重新安装。
- 打开“profile”文件。
- 安装ZooKeeper编译依赖。
1
yum install cppunit cppunit-devel hostname autoconf libtool libsysfs automake -y
- (可选)升级GCC。
编译ZooKeeper要求GCC版本在7.3.0及以上,可使用gcc -v查看版本信息,若低于7.3.0则使用如下命令进行安装。
yum install gcc-7.3.0
- 编译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
- 解压“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/
父主题: 软件编译