Redis主从+哨兵+集群


Redis各种配置

主从结构:当主服务器宕机后,需要手动把一台服务器切换为主服务器,这就需要人工干预,费时费力,还会造成一段时间内服务不可用,这时就会优先考虑哨兵模式

哨兵结构:主节点宕机,从节点随意选出master;主节点恢复,只能重新配置和连接,主节点为slave,从节点仍会是master

Redis主从配置(1台机器)

文件配置

#redis文件进行拷贝
cp /etc/redis.conf  /etc/redis2.conf
#主配置文件redis.conf
vim  /etc/redis.conf
bind  127.0.0.1
port  6379
daemonize yes
logfile "/var/log/redis.log" 
dir /data/redis_data/
appendonly yes
------------------------------------------------------------------------------
#从配置文件redis2.conf
vim  /etc/redis2.conf
bind 127.0.0.1
port  6380
dir /data/redis_data2/
pid_file  /var/run/redis_6380.pid
logfile "/var/log/redis2.log" 
daemonize yes
appendonly yes
#从文件需要操作
mkdir  /data/redis_data2/
touch  /var/log/redis2.log
touch /var/run/redis_6380.pid
#查看进程服务
ps  -ef | grep  redis
#如果有redis进程杀死进程
kill  -9  PID

正常配置

#目前两个机器都是master
[root@localhost etc]# redis-cli -p 6379
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_replid:01470f5957d4b593e42a8233bca0f7b8abf5cd6f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

主从配置方法1

#设置主从
redis-server  redis.conf
127.0.0.1:6380> slaveof 127.0.0.1 6379
OK
#配置验证
127.0.0.1:6379> info replication
127.0.0.1:6379> LPUSH  list1  "aaa  bbb"
(integer) 3
127.0.0.1:6379> LRANGE  list1  0  -1
1) "aaa  bbb"
127.0.0.1:6380> LRANGE  list1  0  -1
1) "aaa  bbb"

主从配置方法2

#从配置文件redis2.conf
vim  /etc/redis2.conf
slaveof    masterIP    PORT

redis-server /etc/redis2.conf
redis-cli
#配置验证即可成功
127.0.0.1:6379> info replication

Redis主从配置(3个机器)

和第一台机器是相似的,利用方法二

IP地址 IP地址 端口
master 192.168.108.162 6379
slave1 192.168.108.164 6379
slave2 192.168.108.145 6379
slave3 192.168.108.146 6379

文件配置

【master】
vim  /etc/redis.conf
bind  0.0.0.0
port  6379
daemonize yes
logfile "/var/log/redis.log" 
dir /data/redis_data/
appendonly yes
【slave1,slave2】
vim  /etc/redis.conf
bind  0.0.0.0
port  6379  
daemonize yes
logfile "/var/log/redis.log" 
dir /data/redis_data/
appendonly yes
slaveof  192.168.108.162  6379

配置验证

【master】
ps  -ef  | grep redis
kill -9  PID
cd  /usr/local/src/redis-4.0.1
redis-server  /etc/redis.conf
redis-cli
【slave1】【slave2】
ps  -ef  | grep redis
kill -9  PID
cd  /usr/local/src/redis-4.0.1
redis-server  /etc/redis.conf
redis-cli
#master服务器配置内容,在slave服务器上可以进行查看
127.0.0.1:6379> info replication

Redis哨兵模式(3个机器)

https://blog.csdn.net/a745233700/article/details/112451629

Redis 主从复制有一个缺点,当 **master 宕机**以后,整个集群的写就会挂掉。因为 redis 本身是不会自动从 slave 中选举出新的 master 的。

我们理想的情况是:当 master 挂掉之后,可以有 slave 迅速补上,自动切换为 master,不影响整个服务。

基于此,引入了 Redis Sentinel(Redis 哨兵机制)。

哨兵集合监控redis主从是否正常运行。

  • 如果挂掉的是从节点,则哨兵集合会将这个从节点做下线标识;

  • 如果挂掉的是主节点,则哨兵集合不仅会对主节点做下线标识,而且还会所有哨兵进行"协商”,选举出新的主节点,来完成自动故障转移工

猜你喜欢

转载自blog.csdn.net/m0_64118193/article/details/129655759