redis主从复制,一主多仆启动流程

一、安装redis

redis安装笔记 https://blog.csdn.net/G_GUi/article/details/128361131

二、复制修改配置文件

  1. 把redis.conf复制到一个新建文件夹里面(redis.conf文件从安装的redis里面找)

图1 新建文件夹

图2 redis.conf文件
  1. 修改redis.conf里面的appendonly改为no
    在这里插入图片描述

三、添加conf配置文件

  1. 创建三个conf配置文件
    在这里插入图片描述
    一主两从,所以要配置三个文件(每个文件里面的数字都要修改,比如6379全部改为6380
    redis6379.conf
    redis6380.conf
    redis6381.conf(三个文件都要放下面的内容,要改数字)
# 这个复制的redis.conf 要绝对路径
include /My_Redis/redis.conf
pidfile /var/run/redis_6379.pid #这里的数字要修改,名字要不一样,例如:redis_6380.pid
#指定端口
port 6379 # 这里的端口也要修改例如:6380
dbfilename dump6379.rdb #这里的数字要修改,名字要不一样例如:redis6380.rdb
  1. 启动3个redis
    在这里插入图片描述

  2. 用Xshell工具开启三个窗口(双击蓝色的地方,就是 开启多窗口)
    在这里插入图片描述
    每个窗口开启一个节点

redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、开启主从复制

  1. 查看节点信息
    info replication
    在这里插入图片描述

  2. 在从机上输入命令,ip和端口是主机的

slaveof <ip> <port>
# 例如
从机6380:
slaveof 127.0.0.1 6379
从机6381:
slaveof 127.0.0.1 6379

在这里插入图片描述
在这里插入图片描述

  1. 用info replication查看主从关系,这样主机就是6379,两台从机6380,6381

    其他问题:

    1. 如果主机redis设置了密码,会导致主从连接失败,解决办法就是在从机的配置文件里面添加masterauth 主库密码然后重启从机;或者在从机的命令里面输入config set masterauth 主库密码
    2. 主机挂掉(角色不会丢失),重启就可以了
      从机挂掉(角色丢失),要重新设置slaveof <ip> <port>,如果不想一直重新设,在文件中加入配置
    3. slaveof no one 取消主从,可以和主机解除关系
    4. 主从复制流程:
      从服务器连上主服务器,从服务器向主机发送一个数据同步的消息,然后主服务器进行持久化操作生成rdb文件,然后发给从服 务器,从服务器读取文件(连接上主服务器的时候,一次操作)
      每次主服务器操作后,都会和从服务器进行同步(每次操作)

五、薪火相传

从机下面再挂一个从机

主机master
A从机
B从机
C从机

六、反客为主

主机挂掉,从机上位变成主机master

A从机上位
B从机
主机master
C从机

7、哨兵模式

主机挂掉,从机上位
自动切换主机

主机master
A从机
B从机
.......

创建sentinel.conf文件,里面添加下面内容

sentinel monitor mymaster 127.0.0.1 6379 1
启动命令:
redis-sentinel sentinel.conf

选举优先级为
1.replica-priority 100
2.数据完整性
3. 随机

猜你喜欢

转载自blog.csdn.net/G_GUi/article/details/128614972