1、配置一主二从
1、环境
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl disable firewalld && systemctl stop firewalld
ip | 软件 | 主从 | |
---|---|---|---|
192.168.48.128 | redis6.2.5 | 主 | |
192.168.48.191 | redis6.2.5 | 从 | |
192.168.48.192 | redis6.2.5 | 从 |
2、redis软件下载安装
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
tar -zxvf redis-6.2.5.tar.gz
mkdir -p /app/local/redis/
mv redis-6.2.5 /app/local/redis/
cd /app/local/redis/redis-6.2.5
make
3、修改配置
vim redis.conf
主从都改
bind 0.0.0.0 -::1 #这个配置项指定了Redis服务器监听的IP地址。0.0.0.0表示监听所有可用的网络接口,-::1表示IPv6的本地回环地址。
port 16379 #指定Redis服务器监听的端口号。
daemonize yes #将Redis服务器以守护进程的方式运行。
logfile "/app/local/redis/redis.log" #指定日志文件的路径和文件名。
dbfilename dump.rdb #指定持久化数据文件的文件名。
dir /data/redis_data #指定持久化数据文件的存储路径。
masterauth 123456 #如果主服务器设置了密码,从服务器连接主服务器时需要提供密码进行身份验证。主要用于保护主从复制的安全性。
requirepass 123456 #是用于客户端连接到Redis服务器时进行身份验证的密码。当Redis服务器设置了requirepass密码后,客户端在连接到服务器时需要提供正确的密码才能进行身份验证,否则连接将被拒绝。主要用于保护客户端与Redis服务器之间的安全性。
appendonly yes #开启AOF持久化模式,将写操作追加到文件末尾。
改从
replicaof 192.168.48.128 16379 #将当前Redis服务器设置为指定IP地址和端口号的主服务器的从服务器。
masterauth 123456 #如果主服务器设置了密码,从服务器连接主服务器时需要提供密码进行身份验证。主要用于保护主从复制的安全性。
replica-read-only yes #设置从服务器为只读模式,禁止写操作。
slaveof 192.168.48.128 16379 #将当前Redis服务器设置为指定IP地址和端口号的主服务器的从服务器。
4、启动
/app/local/redis/redis-6.2.5/src/redis-server /app/local/redis/redis-6.2.5/redis.conf
5、测试
/app/local/redis/redis-6.2.5/src/redis-cli -h 127.0.0.1 -p 16379 -a 123456
在主输入 set name test
在辅输入 get name
2、哨兵
1、配置
vim /app/local/redis/redis-6.2.5/sentinel.conf
bind 0.0.0.0
port 26379
daemonize yes
logfile "/var/log/sentinel.log"
dir "/tmp"
sentinel monitor mymaster 192.168.48.128 16379 2
sentinel auth-pass mymaster 123456
bind 0.0.0.0 #指定Sentinel监听的IP地址,0.0.0.0表示监听所有可用的网络接口。
port 26379 #指定Sentinel监听的端口号。
daemonize yes #设置Sentinel以守护进程方式运行。
logfile "/var/log/sentinel.log" #指定Sentinel日志文件的路径。
dir "/tmp" #指定Sentinel的工作目录,用于存储运行时数据。
sentinel monitor mymaster 192.168.48.128 16379 2 #配置要监控的Redis主服务器。其中,`mymaster`是监控的主服务器的名称,192.168.48.128是主服务器的IP地址,16379是主服务器的端口号,2表示至少需要2个Sentinel节点同意主服务器不可用才会进行故障转移。
sentinel auth-pass mymaster 123456 #设置主服务器的密码,以便Sentinel可以进行身份验证。
2、启动测试
/app/local/redis/redis-6.2.5/src/redis-sentinel /app/local/redis/redis-6.2.5/sentinel.conf
[root@baseCentos7 ~]# /app/local/redis/redis-6.2.5/src/redis-cli -h 192.168.48.128 -p 26379
192.168.48.128:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.48.128:16379,slaves=2,sentinels=3