redis主从复制实验linux
主从复制时状态
#复制在 Master 端是非阻塞模式的,这意味着即使是多个 Slave 执行首次同步时,
Master 依然能够提供查询服务;
#复制在 Slave 端也是非阻塞模式的:若是你在 redis.conf 作了设置,Slave 在执行首次同步的时候仍能够使用旧数据集提供查询;你也能够配置为当 Master与 Slave 失去联系时,让 Slave 返回客户端一个错误提示。
#当 Slave 要删掉旧的数据集,并从新加载新版数据时,Slave 会阻塞链接请求
(通常发生在与 Master 断开重连后的恢复阶段);redis
实验:vim
rhel6.5 selinx and iptables disabled服务器
server1 192.168.122.11ide
server2 192.168.122.12工具
1、Redis 安装测试
[root@server1 ~]# yum install -y gcc 安装所需gcc环境
下载 redis-4.0.8.tar.gzspa
[root@server1 ~]# tar zxf redis-4.0.8.tar.gz 解压rest
[root@server1 ~]# ls /usr/local/bin/
redis-benchmark redis-check-rdb redis-sentinel
redis-check-aof redis-cli redis-serverserver
Redis-benchmark 压力测试工具
Redis-check-aof 检查redis持久化命令文件的完整性
Redis-check-dump 检查redis持久化数据文件的完整性
Redis-cli redis在linux上的客户端
Redis-sentinel redis-sentinel是集群管理工具,主要负责主从切换。
Redis-server Redis服务器的daemon启动程序
编译完成后
[root@server1 redis-4.0.8]# cd utils/
[root@server1 utils]# ./install_server.sh (一路回车)
server2与server1一致!
2、修改配置文件
master 端
[root@server1 redis]# pwd
/etc/redis
[root@server1 redis]# vim 6379.conf
bind 0.0.0.0 本地全部ip
[root@server1 redis]# /etc/init.d/redis_6379 restart 从新启动
slave 端
[root@server2 utils]# cd /etc/redis/
[root@server2 redis]# vim 6379.conf
slaveof 192.168.122.11 6379 写入主的ip 端口
[root@server2 redis]# /etc/init.d/redis_6379 restart 从新启动
查看端口
测试:
在主上写入数据
[root@server2 redis]# redis-cli 从上可读取