NoSQL之redis主从(结构片)

redis结构:

1:一主一从

2:一主多从

3:主从从

 

主从复制工作原理

  --slave向master发送sync命令

  --master启动后台存盘进程,并收集所有修改数据命令

  --master完成后台存盘后,传送整合数据文件到slave

  --slave接受数据文件,加载到内存中完成首次完全同步

  --后续有新数据产生时,master继续收集数据修改命令依次传给slave,完成同步

 

一主一从结构配置:

相关命令:
    #默认都是master角色
    查看当前主机的角色 info  replication 
    
    命令行配置 好处 马上生效  slaveof  主服务器Ip   服务端口

    永久配置  vim /etc/redis/6379.conf
              slaveof  主服务器Ip   服务端口
              masterauth  密码   #如果主服务器有连接密码要指定连接密码

    #反客为主 (临时恢复为master 服务器)
    > slaveof no one 
    
    永久恢复为独立的服务器
     注释文件中的 slaveof  主服务器Ip   服务端口 然后把服务重启

实验:把52配置为 51 的 slave

52主机做如下配置:
         #命令行配置
         > slaveof  192.168.4.51   6379
        
         #查看角色
192.168.4.52:6379> info replication
# Replication
role:slave
master_host:192.168.4.51
master_port:6379
master_link_status:up
 
         
         # 永久配置
         [root@host52 ~]# vim /etc/redis/6379.conf 
         282 slaveof  192.168.4.51   6379
         :wq

#在51主机查看复制信息
192.168.4.51:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.4.52,port=6379,state=online,offset=261,lag=0

 

 

一主多从:

把主机53 也配置为 51的slave 通过修改文件配置

[root@host53 ~]# vim /etc/redis/6379.conf 
         282 slaveof  192.168.4.51   6379
         :wq
[root@host53 ~]#redis-cli -h 192.168.4.53 shutdown       
[root@host53 ~]# /etc/init.d/redis_6379 start

实验3 :主从从结构
        把54 配置为 53的slave 主机
        
        在54主机做如下配置:
                #在命令行指定 且让他永久生效
        >slaveof  192.168.4.53  6379
        >config  rewrite  #把命令保存到文件的最后1行
        
        ]#tail -1 /etc/redis/6379.conf

1.2 带验证的主从复制 
(master服务器设置了连接密码 slave主机必须指定连接密码才能同步数据)
   在51主机设置连接密码 (在命令行并让其永久有效)
   192.168.4.51:6379> config set requirepass 123456
   192.168.4.51:6379> auth 123456
   192.168.4.51:6379> config rewrite
   OK
   

  在slave设置连接master主机的密码 (在命令行并让其永久有效)
 [root@host52 ~]# redis-cli  -h 192.168.4.52
192.168.4.52:6379> config get masterauth
1) "masterauth"
2) ""
192.168.4.52:6379> config set masterauth 123456
OK

192.168.4.52:6379> config get masterauth
1) "masterauth"
2) "123456"
192.168.4.52:6379> config rewrite
OK
    
 53主机通过修改配置文件
 393  redis-cli  -h 192.168.4.53  shutdown
 
 ]#vim /etc/redis/6379.conf
 masterauth  123456
 :wq
 ]# /etc/init.d/redis_6379 start
  
]# /etc/init.d/redis_6379 start

 

上一篇:redis 基础


下一篇:技术分享|SQL和 NoSQL数据库之间的差异:MySQL(VS)MongoDB