安装RedisBloom模块会遇到很多坑,希望你不要和我一样踩的这么全。
如果觉得编译麻烦,我也上传了我编译的so文件,可以直接加载使用。
https://download.csdn.net/download/LCBUSHIHAHA/87757557
布隆过滤器插件下载地址
github.com/RedisBloom/RedisBloom/releases
在对应的Linux机器下载
wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.4.5.tar.gz
直接使用这个包编译会有一些文件找不到,需要自己使用git将代码克隆下来。github上也有人提这样的issue,官方给出建议自己clone代码。
RedisBloom/README.md at master · RedisBloom/RedisBloom · GitHubProbabilistic Datatypes Module for Redis. Contribute to RedisBloom/RedisBloom development by creating an account on GitHub.https://github.com/RedisBloom/RedisBloom/blob/master/README.md#build-it-yourself
拷贝指定版本号代码到本地。
git clone --recursive -b v2.4.5 20.205.243.166/RedisBloom/RedisBloom.git
所以前面都是废话,直接执行这个git命令就可以了。
RedisBloom编译需要Python3,如果已经安装可以跳过该步骤。
安装py3博客 https://blog.csdn.net/SiShen654/article/details/109077772
#安装依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
#下载包
wget https://npm.taobao.org/mirrors/python/3.8.6/Python-3.8.6.tar.xz
#解压包
mkdir -p ./python3 tar xvf Python-3.8.6.tar.xz -C ./python3
#切换目录到python3下进行编译
./configure --prefix=这里的目录填当前目录就可以
// 执行配置文件 make && make install
// 进行编译安装 #编译完成后,会在配置的目录下有一个bin文件
#创建软连接
sudo ln -s /opt/kuaidi100/python3/Python-3.8.6/bin/python3.8 /usr/bin/python3
sudo ln -s /opt/kuaidi100/python3/Python-3.8.6/bin/pip3.8 /usr/bin/pip
make需要4.0以上版本,低于此版本会失败。
如果需要升级,可以使用以下指令进行升级。
make -v
wget http://ftp.gnu.org/gnu/make/make-4.4.tar.gz
tar -zxvf make-4.4.tar.gz
cd make-4.4
./configure
make install
which make
/usr/local/bin/make -v
cd /usr/bin
mv make make3.8
ln -s /usr/local/bin/make ./make
make -v
[root@iZuf6fjdhecwn46n83l0hqZ bin]# make -v
GNU Make 4.4
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gcc需要9以下的版本,如果使用比较新的Linux发行版本可能gcc大于这个版本号。此时就需要版本降级,可以参考以下博客。注意最后修改gcc的方式只对当前会话有效。
https://blog.csdn.net/weixin_44092851/article/details/124978302
下载好RedisBloom以及安装好Python3依赖后就可以开始编译RedisBloom了。
以下指令需要切换到Root权限执行。
cd RedisBloom
#执行下面的指令需要root权限,并且需要的时间比较久
./sbin/setup
make
方法一 编辑redis.conf文件
编辑redis.conf文件,在末尾添加对应的redisbloom.so路径。
#redis.conf文件
loadmodule /opt/redis-5.0.4/RedisBloom/bin/linux-x64-release/redisbloom.so
方法二 在redis客户端通过module load指令添加
10.240.3.11:7001> module list
(empty list or set)
#加载模块
10.240.3.11:7001> module load /opt/redis-5.0.4/RedisBloom/bin/linux-x64-release/redisbloom.so
OK
#查看模块
10.240.3.11:7001> module list
1) 1) "name"
2) "bf"
3) "ver"
4) (integer) 20405
安装RedisBloom模块最好是先配置redis.conf文件,然后动态加载RedisBoom模块。因为只动态加载,在Redis重启后就失效了,但是只在redis.conf中配置,又没办法动态生效,必须重启。
至此,RedisBloom模块就安装完成了,你遇到多少坑。