复制原理可以参考《Redis设计与实现》
单机环境下安装:参照上篇博文
192.10.13.111 6379 //主机
192.10.13.112 6379 //从机
从机配置
主机和从机安装好之后,需要对配置做一些修改。
vi 6379.conf
##repl 模块
slaveof 192.10.13.111 6379 //主机地址
masterauth 123456 //主机密码设置
slave-read-donly yes//从机只读
防火墙设置:主机6379端口防火墙关闭,不然两个redis进程不通。无法复制。
sudo firewall-cmd --query-port 6379/tcp
sudo firewall-cmd --add-port 6379/tcp//关闭6379端口的防火墙服务
sudo systemctl restart firewalld //重启防火墙服务
查看是否配置成功
###主机复制状态
info replication//
##
role:master
connected_slaves:1
slave0:ip=192.10.13.112,port=6379,state=online,offset=224,lag=1
master_replid:5255b10498a76d9cf11a404f15cfa2e091eb0592
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:224
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:224
###从机复制状态
info replication
##
master_host:192.10.13.111
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:784
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:5255b10498a76d9cf11a404f15cfa2e091eb0592
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:784
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:784
也可通过向主机写数据判断是否配置成功
##主机
127.0.0.1:6379> set test ok
OK
#从机
127.0.0.1:6379> get test
"ok"