说明
- 由于机器有限,本次操作将在 1台服务器上完成 1主 2从的操作
- 服务器的内网 IP 地址为 192.168.0.241
- master (主 redis) 使用 6379 端口, slave1(从 redis) 使用 6380 端口, slave2(从redis) 使用 6381 端口
- 为了方便查看日志输出,本次操作不将 redis设置为后台运行
- 主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据
- 无法解决: 1.master节点出现故障的自动故障转移
架构图
编辑配置文件
创建 3 个目录
mkdir /root/mastermkdir /root/slave1mkdir /root/slave2
从解压的 redis 源码中拷贝 redis.conf 文件分别到 刚创建的 3 个目录中
cp /data/redis-4.0.11/redis.conf /root/master/cp /data/redis-4.0.11/redis.conf /root/slave1/cp /data/redis-4.0.11/redis.conf /root/slave2/
分别编辑这三个配置文件
```shellvim /root/master/redis.confvim /root/slave1/redis.confvim /root/slave2/redis.conf
master port 6379 bind 0.0.0.0
slave1 port 6380 bind 0.0.0.0 slaveof masterip masterport
slave2 port 6381 bind 0.0.0.0 slaveof masterip masterport
<a name="N1C41"></a>## 启动 redis 服务<a name="MbwCv"></a>### 启动 master redis 服务```shell/usr/local/redis/bin/redis-server /root/master/redis.conf
启动 slave1 redis 服务
/usr/local/redis/bin/redis-server /root/slave1/redis.conf启动 slave2 redis 服务
/usr/local/redis/bin/redis-server /root/slave2/redis.conf使用 redis client 登录
登录 master
cd /usr/local/redis/bin/ ./redis-cli -p 6379进行读写操作(读写ok):
127.0.0.1:6379> set name zs OK 127.0.0.1:6379> set sex man OK 127.0.0.1:6379> get sex "man" 127.0.0.1:6379> get name "zs"登录 slave1 (或 slave2)
cd /usr/local/redis/bin/ ./redis-cli -p 6380进行读写操作(可以读, 但不能写):
127.0.0.1:6380> get name "zs" 127.0.0.1:6380> set age 11 (error) READONLY You can't write against a read only slave. 127.0.0.1:6380>
