淘先锋技术网

首页 1 2 3 4 5 6 7

什么是主从复制:

Redis Replication是一种 master-slave 模式的复制机制,这种机制使得 slave 节点可以成为与 master 节点完全相同的副本,可以采用一主多从或者级联结构。架构如下:

 

主从复制的配置要点:

(1)配从库不配主,从库配置:slaveof 主库IP 主库端口

(2)查看redis的配置信息:info replication

模拟环境:三台、一主两从

作用:

        主要解决redis读写分离,虽然redis读和写的速度都很快,但是在高并发的情况读写分离是有必要的:主机负责写,从机负责读,可以设置多个从机,防止其中一台从机断电,服务器瘫痪等带来的从机死机,从而整个项目不能正常运行。

 

主机和从机的配置

  • 将.counf文件中开启 daemonize yes 
  • 将 bind 改成 bind 0.0.0.0 注解会出现问题
  • 将.counf文件中关闭 protected-mode no
  • 指定端口 主机不需要改默认6479 从机需要修改
  • 指定工作目录 dir 
  • 修改pid文件名字,pidfile
  • 日志文件名字,logfile
  • 设置密码 requirepass
  • 修改rdb文件名 dump.rdb
  • 开启aof appeendfilename
  • 主机不需要配置,只配置从机通行密码 masterauth 访问ip和port replicaof 

 开启daemonize

  bind 改成 bind 0.0.0.0

 关闭 protected-mode no

      

 

修改port 

主机不用改 

dir

 pidfile

 

logfile

  requirepass

 dump.rdb  dbfilename

 

 开启aof

主机不配置 只配置从机 masterauth和replicaof 

 

 

开启redis

先开主机 在开从机

主机:redis-server 配置的.conf文件 
           redis-cli -a ******

从机: redis-server 配置的.conf文件 
             redis-cli -a 密码  -p +刚刚配置的端口号

info replication查看连接是否成功

主机:

127.0.0.1:6379> info replication
# Replication
#role:master 主机 
role:master
connected_slaves:1
slave0:ip=192.168.200.135,port=6380,state=online,offset=3066,lag=0
master_failover_state:no-failover
master_replid:18d2fdb5d3325cb70b9fbcf35f28c4e37f205169
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3066
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3066

从机:

127.0.0.1:6380> info replication

# Replication
role:slave
master_host:192.168.200.134
master_port:6379
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_read_repl_offset:3178
slave_repl_offset:3178
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:18d2fdb5d3325cb70b9fbcf35f28c4e37f205169
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3178
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3178

常见问题:master_link_status:down

redis配置主从服务器后,显示master_link_status:down的解决方法

解决问题一、你的主机设置了密码,那么我们需要在从机里面写上你主机的密码

二:如果密码是一致的,查看是否将bind 注解了 将bind 改成 bind 0.0.0.0

三:  查看刚刚配置的从机Log文件报错的原因

验证:

在主机中set k2 v2 

从机get k2 和在从机set 看看会出现是问题

出现 :(error) READONLY You can't write against a read only replica.从机没有写的权限