Centos7部署redis三节点哨兵集群,添加布隆过滤器
目录
Centos7部署redis三节点哨兵集群,添加布隆过滤器
一、环境准备
1.1、服务器准备
服务器 | IP | 身份 | 哨兵 |
---|---|---|---|
redis-sentry-0 | 10.10.101.26 | 主节点 | 是 |
redis-sentry-1 | 10.10.101.27 | 从节点 | 是 |
redis-sentry-2 | 10.10.101.28 | 从节点 | 是 |
1.2、依赖安装
1、redis采用编译安装,先安装编译依赖
#安装gcc9
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
yum -y install wget
#切换到gcc9
1、临时切换
scl enable devtoolset-9 bash
2、永久切换
echo source /opt/rh/devtoolset-9/enable >> /etc/profile
#查看当前gcc版本
gcc -v
... ...
gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
二、部署redis
2.1、安装redis
#下载tar包
# 官网下载地址: http://download.redis.io/releases/
wget https://download.redis.io/releases/redis-5.0.0.tar.gz
#解压
tar xf redis-5.0.0.tar.gz
rm -rf redis-5.0.0.tar.gz
mv redis-5.0.0/* .
rm -rf redis-5.0.0
#编译安装
make && make install
redis 编译安装后,命令文件会自动加入PATH,配置文件就在当前目录下
可以使用 which [命令] 来查看命令文件的位置
2.2、修改配置文件
vim redis.conf
bind 0.0.0.0
daemonize [yes/no] #yes后台启动 no前台启动
requirepass "12345678" #redis的密码
logfile "/data/server-logs/redis/redis.log"
2.3、加入systemctl管理
1、redis加入systemctl管理
vim /lib/systemd/system/redis-server.service
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
#相应修改PID路径
PIDFile=/var/run/redis_6379.pid
#相应修改启动文件与配置文件
ExecStart=/usr/local/bin/redis-server /data/server-side/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、哨兵加入systemctl管理
vim /lib/systemd/system/redis-sentinel.service
[Unit]
Description=Redis sentinel Server
After=network.target
[Service]
Type=simple
#相应修改PID路径
PIDFile=/var/run/redis-sentinel.pid
LimitNOFILE=100000
#相应修改启动文件与配置文件
ExecStart=/usr/local/bin/redis-sentinel /data/server-side/redis/sentinel.conf
#相应修改启动文件,注意端口设置,端口是哨兵的端口
ExecStop=/usr/local/bin/redis-cli -p 26379 shutdown
Restart=on-failure
[Install]
WantedBy=multi-user.target
3、重载systemctl配置
systemctl daemon-reload
三、配置主从
3.1、修改配置文件
1、redis主节点配置文件无需修改
2、修改redis从节点配置文件
vim redis.conf
... ...
replicaof <masterip> <masterport>
masterauth <master-password>
... ...
3.2、重启redis
四、配置哨兵
4.1、修改哨兵配置文件
vim sentinel.conf
... ...
#sentinel monitor [服务器名字,可自定义] [监控的主节点服务器ip地址] [监控的主节点服务器的端口] [有几个哨兵认为主服务器不可用时,进行failover操作]
sentinel monitor mymaster 10.10.101.26 6379 2
... ...
4.2、重启哨兵
五、查看主从状态
#进入redis
redis-cli
#验证身份
auth [本文步骤2.2设置的密码]
#查看状态
info replication
六、添加布隆过滤器
6.1、下载布隆过滤器
wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.4.tar.gz
6.2、部署布隆过滤器
1、编译
tar xf redisbloom-2.2.4.tar.gz
cd RedisBloom-2.2.4/
make
2、将编译后的结果放到redis目录下
#不放也行,在哪都行,又不是不能用
mkdir redis/module
mv redisbloom.so redis/module
6.3、为redis安装Bloom Filter模块
1、修改redis配置文件
vim redis.conf
# loadmodule [模块的绝对路径]
loadmodule redis/module/redisbloom.so
6.4、验证布隆过滤器
重启redis,在日志文件中发现
Module 'bf' loaded from /data/server-side/redis/module/redisbloom.so
字段,表示布隆过滤器已加载