Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看

Redis主从复制机制

1)性能优化:主服务器专注于写操作,可以用更适合写入数据的模式工作;同样,从服务器专注于读操作,可以用更适合读取数据的模式工作。
2)强化数据安全,避免单点故障:由于数据同步机制的存在,各个服务器之间数据保持一致,所以其中某个服务器宕机不会导致数据丢失或无法访问。从这个角度说参与主从复制的Redis服务器构成了一个集群。
Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第1张图片

模拟搭建

Redis集群在运行时使用的是同一个可执行文件,只是对应的配置文件不同。
Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第2张图片
每个配置文件中相同的参数是:

daemonize yes
dir /usr/local/cluster-redis

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第3张图片

详细操作

  1. 创建/usr/local/cluster-redis目录
  2. 把原始未经修改的redis.conf复制到/usr/local/cluster-redis目录
  3. 把/usr/local/cluster-redis目录下的redis.conf复制为redis6000.conf
  4. 按照既定计划修改redis6000.conf中的相关配置项
  5. 复制redis6000.conf为redis7000.conf并修改redis7000.conf中的相关配置项
  6. 复制redis6000.conf为redis8000.conf并修改redis8000.conf中的相关配置项
  7. 分别开启三个窗口启动Redis集群
/usr/local/redis/bin/redis-server /usr/local/cluster-redis/redis6000.conf
/usr/local/redis/bin/redis-server /usr/local/cluster-redis/redis7000.conf
/usr/local/redis/bin/redis-server /usr/local/cluster-redis/redis8000.conf

// 使用redis-cli停止指定服务器的命令格式如下:
/usr/local/redis/bin/redis-cli -h IP地址 -p 端口号 shutdown

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第4张图片

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第5张图片

主从关系

  1. 查看主从关系:刚刚启动的集群服务器中每一个节点服务器都认为自己是主服务器。需要建立主从关系。
info replication

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第6张图片
2. 设定主从关系:在从机上指定主机位置即可

SLAVEOF 127.0.0.1 6000

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第7张图片

  1. 取消主从关系:在从机上执行命令
SLAVEOF NO ONE

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第8张图片

测试

  1. 在主机写入数据,在从机查看:数据能同步

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第9张图片
2. 在从机写入数据报错。配置文件中的依据是:slave-read-only yes:从机不能写入数据

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第10张图片

  1. 主机执行SHUTDOWN看从机状态:主机宕机,从机master不变,状态为down

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第11张图片
4. 主机恢复启动,看从机状态:从机能够知晓主机启动且主机也知道从机状态

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第12张图片

  1. 从机SHUTDOWN,此时主机写入数据,从机恢复启动查看状态。重新设定主从关系后看新写入的数据是否同步。:启动后得第一时间从机为master,需要重新设置主从关系,设置完成后数据将得到同步
    Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第13张图片

哨兵模式

1)通过哨兵服务器监控master/slave实现主从复制集群的自动管理。
2)sentinel通过不断询问slave和master,而master和slave反馈,来判断节点是否存活
3)主观下线:1台哨兵检测到某节点服务器下线。
4)客观下线:认为某个节点服务器下线的哨兵服务器达到指定数量。这个数量后面在哨兵的启动配置文件中指定。
5)哨兵模式可以自动得选举master,减少了手动设置主从关系

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第14张图片

哨兵配置方式

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第15张图片

启动哨兵

/usr/local/redis/bin/redis-server /usr/local/cluster-redis/sentinel.conf --sentinel


+sdown master mymaster 127.0.0.1 6379 【主观下线】
+odown master mymaster 127.0.0.1 6379 #quorum 1/1【客观下线】
……
+vote-for-leader 17818eb9240c8a625d2c8a13ae9d99ae3a70f9d2 1【选举leader】
……
+failover-state-send-slaveof-noone slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379【把一个从机设置为主机】
​
-------------挂掉的主机又重新启动---------------------
-sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381【离开主观下线状态】
+convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6381【转换为从机】

Redis主从复制机制|主从关系查看|主从关系设定|主从关系测试|哨兵模式得配置及查看_第16张图片

你可能感兴趣的:(Redis模块化学习,redis,linux,分布式,java)