Redis的布隆插件安装
1、下载对应插件地址:https://github.com/RedisBloom/RedisBloom 并解压
unzip RedisBloom-master.zip
cd RedisBloom-master
2、解压后不要着急编译,因为这个插件还依赖3个相关包也需要下载并且放到一起在编译。
readies 依赖:GitHub - RedisLabsModules/readies at 54ecd52dc0d9e4f99722242d579146342a37968b
t-digest-c依赖:
GitHub - RedisBloom/t-digest-c at 9dcd73d876308a76e10dd0fc5a0a669b264898aa
RedisModulesSDK依赖:
GitHub - RedisLabsModules/RedisModulesSDK at 7ba899d7b75448e527bcb6f40b1091c5346eac8a
分别下载后,直接解压放入对应的目录里,如图:
3、这个时候你可以进行设置和编译了:
./sbin/setup
#编译安装
make
一般情况下,你会出问题主要原因是你里面依赖的工具版本太低导致的,当然报的错误也很多或者很奇怪你可以不用理会,直接先升级你先关的工具。
我贴几个错误:
Not searching for unused variables given on the command line.
CMake Error: The source directory "/RedisBloom-2.6.8/bin/linux-x64-release/t-digest-c" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
make[1]: *** [/RedisBloom-2.6.8/deps/readies/mk/cmake.rules:17: /home/software/tools/RedisBloom-2.6.8/bin/linu
这里的CMakeLists.txt 有说是没有执行权限的,那你也可以试试给它执行权限。其实还是不行。就按照我说的升级工具就好了。
升级CMake版本
- 卸载原有通过 yum 安装的 cmake:
yum remove cmake
- 下载cmake安装包:
cd /opt wget https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-Linux-x86_64.tar.gz
- 解压下载好的cmake二进制包:
cd /opt tar zxvf cmake-3.14.5-Linux-x86_64.tar.gz
- 解压成功后,就可以在 /opt 目录下看到一个 cmake-3.14.5-Linux-x86_64 目录,下面添加cmake环境变量,编辑 /etc/profile.d/cmake.sh 文件,写入以下内容:
export CMAKE_HOME=/opt/cmake-3.14.5-Linux-x86_64 export PATH=$PATH:$CMAKE_HOME/bin
- 保存并退出,执行命令让 cmake 环境文件生效:
source /etc/profile
升级Python版本
- 下载python3.8.0的安装包:
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
- 解压缩:
tar zxf Python-3.8.0.tgz
- 配置、编译、安装:
cd Python-3.8.0 ./configure --prefix=/usr/local/python3 # 配置(并指定安装位置) # 不要加--enable-optimizations参数,否则可能报错 make clean # 清空缓存 make && make install # 编译并安装(时间较久请耐心等待……)
- 删除原先的Python3和pip3(并重新建立软链接):
rm -rf /usr/bin/python3 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 rm -rf /usr/bin/pip3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
升级GCC版本
- 安装scl源:
yum install -y centos-release-scl scl-utils-build
- 安装指定版本的gcc工具链:
yum install -y devtoolset-8-toolchain
- 使用指定版本的gcc:
# 只对当前bash有效 scl enable devtoolset-8 bash
编译、生成redisbloom.so、安装
- make完生成redisbloom.so,拷贝到redis的安装目录:
#按照上面先执行 ./sbin/setup make #编译后的so文件拷贝 cp redisbloom.so /home/www/server/redis
- 在redis.conf配置文件中加入如RedisBloom的redisbloom.so文件的地址,如果是集群则每个配置文件中都需要加入redisbloom.so文件的地址:
redis-server redis.conf --loadmodule /home/www/server/redis/redisbloom.so
- 上面我们有提到需要重启Redis,在本地和测试环境还可以,但是正式环境能不重启就不需要重启,那这么做可以不重启Redis,使用module load命令执行:
MODULE LOAD /home/www/server/redis/redisbloom.so module list 1) 1) "name" 2) "bf" 3) "ver" 4) (integer) 999999
看到以上数据则说明redisbloom加载成功了,模块名name为"bf",模块版本号ver为999999。
大功告成了。