Windows7实现Redis主从复制功能
- 网络情况
本次实验的网络是基于公司内部的局域网。
- 里程碑示意图
- Redis配置文件
以下操作分别都要配置两个配置文件(两个文件需要配置的内容相同,以redis.windows.conf为例): - Redis网络相关配置
由于刚安装的Redis,是让外网进行访问的,只是提供本机单机使用,所以我们要将配置内容设置一下。
第一步:开启redis 允许外网IP 访问
当在客户端通过远程连接的方式连接时,报could not connect错误。错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。修改redis的配置文件redis.conf, 将配置文件中的bind 127.0.0.1注释掉。
第二步:修改配置文件中protected-mode配置项
配置文件中protected-mode配置项默认开启yes,redis处于保护模式状态,会拒绝来自其它主机的连接。解决方式:将protected-mode配置项设为no。
第三步:修改端口。
对各节点的配置文件(如下图)按下面的端口进行修改。
Master(6379);Slave1(6380);Slave2(6382);Slave3(6381)
第四步:三个节点的服务器各自互相Telnet 一下对就的端口是否可以访问,通过情况如下图。 - Redis主从相关配置
各自对配置文件添加slave属性。
Master(本机):不用修改。
Slave1(本机): slaveof 127.0.0.1 6379
Slave2(黎电脑):slaveof 192.168.5.103 6379
Slave3(周电脑) slaveof 192.168.5.222 6282
- 设置完成后,可以使用info replication命令,检查主从关系,如图:
Master(本机):
Slave1(本机): slaveof 127.0.0.1 6379 - 生成相关的服务
为了方便操作Redis服务端,我们各自的服务端生成相应的服务(Service)。操作如图:
Master(本机):
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis-master
Slave1(本机):
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis-slave1
Slave2(黎电脑):
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis-slave2
Slave3(周电脑)
redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis-slave3
生成成功后,如图: - 实验结果
先在打开Master(本机)的客户端 redis-cli.exe,操作相应的赋值,如图:
然后使用 RedisDesktopManager可视化工具查看结果验证查看各节点,是否已经从主节点复制到各分节点。如图:
Master(本机):
Slave1(本机):
Slave2(黎电脑):
Slave3(周电脑):
本实例到此完成。坚持每次实例做好笔记。^-^