关闭防火墙和selinux(一定)
主从同步原理:
从服务器会向主服务器发出SYNC指令,当主服务器接到此命令后,就会调用BGSAVE指令来创建一个子进程专门进行数据持久化工作,也就是将主服务器的数据写入RDB文件中。在数据持久化期间,主服务器将执行的写指令都缓存在内存中。在BGSAVE指令执行完成后,主服务器会将持久化好的RDB文件发送给从服务器,从服务器接到此文件后会将其存储到磁盘上,然后再将其读取到内存中。这个动作完成后,主服务器会将这段时间缓存的写指令再以redis协议的格式发送给从服务器。
主从配置
准备工作:准备至少三台已安装的redis
安装过程:Redis的安装-CSDN博客https://blog.csdn.net/Cloud_skyen/article/details/134274105?spm=1001.2014.3001.5501
主机名 | ip地址 | 关系 |
redis_1 | 192.168.50.137 | 主 |
redis_2 | 192.168.50.141 | 从 |
redis_3 | 192.168.50.142 | 从 |
修改主服务器的配置文件
[root@redis_1 ~]# vim /data/application/redis/redis.conf
vim /data/application/redis/redis.conf
修改从服务器配置(从服务器全部配置)
[root@redis_2 ~]# vim /data/application/redis/redis.conf
[root@redis_3 ~]# vim /data/application/redis/redis.conf
配置完成后全部重启redis(已配置systemctl命令控制)
[root@redis_1 ~]# systemctl restart redis
[root@redis_2 ~]# systemctl restart redis
[root@redis_3 ~]# systemctl restart redis
登入主服务器redis查看从服务器是否存在
[root@redis_1 ~]# redis-cli
127.0.0.1:6379> info replication
哨兵配置
作用:
(1):Master状态检测
(2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave
(3):Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换
配置:
每台机器上修改redis主配置文件redis.conf文件设置:bind 0.0.0.0
修改哨兵配置文件
[root@redis_1 ~]# vim /data/application/redis/sentinel.conf
[root@redis_2 ~]# vim /data/application/redis/sentinel.conf
[root@redis_3 ~]# vim /data/application/redis/sentinel.conf
启动哨兵服务
[root@redis_1 redis]# cd /data/application/redis/
[root@redis_1 redis]# ./src/redis-sentinel sentinel.conf &
[root@redis_2 redis]# ./src/redis-sentinel sentinel.conf &
[root@redis_3 redis]# ./src/redis-sentinel sentinel.conf &