第一章、redis主从部署加哨兵模式

一、1主2从

 

 二、1主1从1从(推荐:同时同步主节点容易导致主节点挂机)

 

 

三、下载部署redis(这里使用6.2.2版本)

#下载redis
wget https://download.redis.io/releases/redis-6.2.2.tar.gz

#解压到当前文件夹
 tar -xzvf  redis-6.2.2.tar.gz 

#进入到redis-6.2.2
cd redis-6.2.2/

#执行编译命令
make

#安装到指定路径
make PREFIX=/home/w/software/redis-6.2.2/ install

#(3.1)修改配置后启动redis
nohup .
/bin/redis-server ./redis.conf &

3.1、修改主节点配置项

#绑定本机的IP地址或者(127.0.0.1/只本机可访问)(0.0.0.0/本机所有IP地址都可访问,多网卡下使用)
bind 192.168.xx.xx

#设置端口,默认6379
port 6379

#设置redis密码
requirepass [your password]

#设置访问权限,默认yes开启
protected-mode yes
#1、关闭protected-mode模式,此时外部网络可以直接访问
#2、开启protected-mode保护模式,需配置bind ip或者设置访问密码(推荐)

启动后查看主节点信息,可以看到目前该节点为主节点,没有从节点

info replication

 

3.2、修改从节点配置(在主节点配置基础上修改)

#本机IP
bind 192.168.xx.xx

#设置本机redis密码
requirepass 123456    

#  主节点IP
slaveof 192.168.xx.xx 

#主节点(master) 密码
masterauth 123456

 

 启动从节点并查看从节点信息;可以看到该节点为从节点,对应主节点为xx.xx

#启动
nohup ./bin/redis-server ./redis.conf &

#redis cli 查看节点信息
info replication

 

 3.3、另一个从节点同样的操作即可;该方式就实现了1主2从

 

3.4、1主1从1从模式(唯一的变化slaveof  的IP由主节点改为第一个从节点):

#本机IP
bind 192.168.xx.xx

#设置本机redis密码
requirepass 123456    

#  从节点IP
slaveof 192.168.xx.xx 

#主节点(master) 密码
masterauth 123456

 

四、哨兵模式

一般情况下,至少会需要三个哨兵对redis 进行监控,三台服务器每台启动一个哨兵

1、修改配置文件

# 配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,192.168.xx.xx代表监控的主服务器,6379代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。
sentinel monitor mymaster 192.168.xx.xx 6379 2

#redis密码
sentinel auth-pass mymaster 123456

2、启动哨兵

nohup ./bin/redis-sentinel sentinel.conf &

 

3、kill 主节点的redis,模拟选举,默认30秒未检测到主节点则进行重新选举

 

 

4、重新选举后,新主节点获取到写入权限,其他节点同步该子节点

5、重启oldMaster节点,将变为从节点

注:如果重启后不同步新节点数据,info replication 得到如下结果:

 

 需要修改oldMaster节点的配置,这是因为oldMaster不知道从节点的redis 密码导致

vi redis.conf

#增加配置项,该项为主节点的redis密码
masterauth 123456

建议:主从节点的redis密码保持一致,避免选举后无法同步数据

 

posted @ 2021-04-28 17:20  夜空中的萤火虫  阅读(178)  评论(0编辑  收藏  举报