Ubuntu上安装zookeeper3.8.4以及C的原生API

日期:2025.4.8

学习内容:

前言:

真的不得不说,安装这个实在是太恶心了,网上大多数都是老版本3.4.x的了,并不是太适配,自己搜了好久才解决这些一连串的问题。

本机是Ubuntu 24.04,也算是比较新的。

这次的安装很多基本都是版本问题,慢慢的逐一解决就好了。

看了很多,搜了很多,问AI了半天,电脑配置不好中间还死机了几次,真是心累。

这里感谢:Zookeeper 最新稳定版本 3.8.4 服务安装与原生 C 静态库编译 - 技术栈

解决了我出现的一些问题。在此还会分享我中间出现的别的问题,仅供大家参考。

前置知识:

首先需要先知道,这个zookeeper是有两个版本的,一个二进制版的和一个源代码版本的,我们两个都需要,前者是用来运行用的,后者我们需要他的c的api。

还有是关于本文的路径,都统一的使用path来指代apache-zookeeper-3.8.4-bin之前的路径

二进制版本:

https://zookeeper.apache.org/releases.html 下载安装的连接在这里。

把两个都下载下来,然后先解压第一个。

tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz

解压之后找到conf文件夹,把里面的zoo_example.cfg复制一份,叫zoo.cfg

cd /path/apache-zookeeper-3.8.4-bin/conf
cp zoo_sample.cfg zoo.cfg

然后用vim去打开

vim zoo.cfg

这里是我的设置:我们主要是修改这个路径,总之不能在tmp里面,自己设置一个自己记得住的路径就好了

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/advise/ZOO/apache-zookeeper-3.8.4-bin/DATA
# the port at which the clients will connect
clientPort=2181

然后可以进入bin目录里进行一些简单的测试:

cd /path/apache-zookeeper-3.8.4-bin/bin
./zkServer.sh start

也可以用ps来检测一下,应该是会有一坨东西蹦出来

ps -ef | grep zookeeper

还有是可以运行一下客户端,熟悉一下语句:

./zkCli.sh

source版本

还是老规矩,先解压:

tar -zxvf apache-zookeeper-3.8.4.tar.gz

然后还是要一些前置知识:

这里要先确保自己有mvn和autoreconf

mvn --version
autoconf --version

这些命令检测有没有。

这是关于mvn的下载命令:

sudo apt-update
sudo apt install maven

还有pkg-config也需要安装:sudo apt-get install pkg-config

还有一个是cppunit,但是这个并不建议用命令行来直接下载,因为下载下来的版本可能会比较新,导致无法和zookeeper相匹配,这里我先用命令行的下载了,但是后续发现缺少文件目录,估计是因为版本比较新,那个目录被移除了,这里大家先去手动搜索安装一下cppunit的压缩包。

贴上一个自己搜到的有用的链接:

Ubuntu下安装CppUnit_ubuntu安装cppunit-CSDN博客

跟着连接里面的修改好了之后,用:

# 搜索 cppunit.m4 文件
sudo find / -name "cppunit.m4"

来搜索一下在不在,一般是能够在/usr/share/aclocal/cppunit.m4这个路径下找到的。

然后可以开始我们的工作了:

先移动到这个目录

cd /path/apache-zookeeper-3.8.4/zookeeper-jute
mvn compile

如果报错了,显示

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile \
(pre-compile-jute) on project zookeeper-jute: Fatal error compiling: 错误: 不支持发行版本 8 -> [Help 1]

这样的话,就说明我们的jdk的版本需要订正一下:

# 安装 OpenJDK 8
sudo apt-get install openjdk-8-jdk

# 切换默认 Java 版本,下面两个命令依次输入,然后根据提示选择8版本
sudo update-alternatives --config java
sudo update-alternatives --config javac

然后成功了之后,再移动到:

cd /path/apache-zookeeper-3.8.4/zookeeper-client/zookeeper-client-c
vim configure.ac

需要对这个文件做一些修改,适配一下新版本的情况:

# 找到文件中的以下代码:
if test "$with_cppunit" = "no" ; then
   CPPUNIT_PATH="No_CPPUNIT"
   CPPUNIT_INCLUDE=
   CPPUNIT_LIBS=
else
   CHECK_CPPUNIT(1.10.2)
fi

# 替换为:
if test "$with_cppunit" = "no" ; then
   CPPUNIT_PATH="No_CPPUNIT"
   CPPUNIT_INCLUDE=
   CPPUNIT_LIBS=
else
   PKG_CHECK_MODULES([CPPUNIT], [cppunit >= 1.10.2])
fi

然后:wq保存退出之后,再执行:

aclocal -I /usr/share/aclocal && autoreconf -if
./configure
make
sudo make install

end

这辈子再也不想安装了

posted @ 2025-04-08 15:21  AdviseDY  阅读(29)  评论(0)    收藏  举报