VMware虚拟机14.0+CentOS7配置Redis的主从分布

1.在虚拟机上安装Redis,可参考:
(VMware14.0+CentOS7虚拟机下安装redis4.0.10)
2.mkdir master slave1 slave2建立三个文件夹master、slave1、slave2
VMware虚拟机14.0+CentOS7配置Redis的主从分布
文章图片

3.拷贝redis.conf到建立的文件夹master、slave1、slave2
VMware虚拟机14.0+CentOS7配置Redis的主从分布
文章图片

4.修改配置
(1)修改master里面redis.conf的内容
更改端口和开启远程连接

port 7000 bind 0.0.0.0

(2)修改slave1里面redis.conf的内容
更改端口和开启远程连接,注意:slaveof默认是注释的,因为我是在一台主机上配置主从分布,所以masterip 就是虚拟机的静态ip并且slave1和slave2的masterip是一致的
port 7000 bind 0.0.0.0 slaveof

(3)修改slave2里面redis.conf的内容
更改端口和开启远程连接
port 7000 bind 0.0.0.0 slaveof

5.启动机器进行测试
分别进入redis的bin目录下执行命令:
分别是以分别的配置文件启动各自的服务
./redis-server /root/master/redis.conf ./redis-server /root/slave1/redis.conf ./redis-server /root/slave2/redis.conf

看到一下结果说明从节点同步进来了
VMware虚拟机14.0+CentOS7配置Redis的主从分布
文章图片

master主机里的key
[root@localhost bin]# ./redis-cli -p 7000 127.0.0.1:7000> key * (error) ERR unknown command 'key' 127.0.0.1:7000> keys * 1) "com.wang.dao.EmpDAO" 2) "job" 3) "age" 4) "name" 5) "content" 127.0.0.1:7000>

slave1主机里的key
[root@localhost bin]# ./redis-cli -p 7001 127.0.0.1:7001> keys * 1) "age" 2) "com.wang.dao.EmpDAO" 3) "content" 4) "name" 5) "job"

主节点执行FLUSHALL
127.0.0.1:7000> FLUSHALL OK (1.64s) 127.0.0.1:7000> KEYS * (empty list or set)

查看从节点的keys
127.0.0.1:7001> keys* (empty list or set)

**注意:**从节点是只读的,并不允许写操作
127.0.0.1:7001> set age 15 (error) READONLY You can't write against a read only slave.

(不建议)如果想允许写操作,需要修改redis.conf配置文件为no
slave-read-onlyyes

【VMware虚拟机14.0+CentOS7配置Redis的主从分布】主从架构仅仅只为主节点的数据备份,当主节点宕机时,并无法选择其中一个为新的主节点

    推荐阅读