主从复制一

设置主从关系

通过  info replication 命令查看节点角色设置主从关系slaveof 主库ID 主库端口     如: slaveof 127.0.0.1 6379
主库宕机后,想让从库停止与其他数据库同步,转成主库,slaceof on one,   其他数据路想连接它,还要执行设置主库命令,否者会一直等着老主库

常见方式,一主二仆,薪火相传

薪火相传与一主二仆

#一主二仆
    只有一层分支,一对多



#薪火相传
    中间的slave会是下一个slave的Master,slave同样可以接收其他slaves的连接和同步的请求,那么slave作为下一个链条中的master,可以有效的减轻master的写压力
中间的slave角色仍然是slave

    中途变更转向,会清除之前的数据,重新建立拷贝最新的

常见问题

#1、不论从机是什么时候设置的,重要设置为从机,会把主机的全部复制一遍(设置从机之前的也会)

#2、读写分离,从机只有读的权限,从机的写操作是不被允许


#3、主机宕机后,从机的角色也不会改变,等主机恢复后,一切照旧

#4、从机断开后,会断开连接,下次需要再连接,除非写入配置文件

 

练习

修改配置文件

 首先将redis.conf 配置文件复制三份,通过修改端口分别模拟三台Redis服务器。

  

  然后我们分别对这三个redis.conf 文件进行修改。

 ①、修改 daemonize yes

  

  表示指定Redis以守护进程的方式启动(后台启动)

  ②、配置PID文件路径 pidfile

  

  表示当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/redis/run/redis_6379.pid 文件里面

  ③、配置端口 port

  

  ④、配置log 文件名字

  

  ⑤、配置rdb文件名

  

  依次将 6380redis.conf 、6381redis.conf 配置一次,则配置完毕。

  接下来我们分别启动这三个服务。

  

  通过命令查看Redis是否启动:

  

  接下来通过如下命令分别进入到这三个Redis客户端:

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

设置主从关系

 ①、通过  info replication 命令查看节点角色

      

  

  我们发现这三个节点都是扮演的 Master 角色。那么如何将 6380 和 6381 节点变为 Slave 角色呢?

  ②、选择6380端口和6381端口,执行命令:SLAVEOF 127.0.0.1 6379

      

  我们再看 6379 节点信息:

  

  这里通过命令来设置主从关系,一旦服务重启,那么角色关系将不复存在。想要永久的保存这种关系,可以通过配置redis.conf 文件来配置。

猜你喜欢

转载自www.cnblogs.com/pdun/p/11285156.html