redis主从+哨兵模式(借鉴)
三台机器分布
192.168.189.129 // master的角色
192.168.189.130 // slave1的角色
192.168.189.131 // salve2的角色
三台服务器安装redis
|
1
2
3
4
5
6
|
cd /usr/local/srctar zxf redis-5.0.6.tar.gzcd redis-5.0.6make && make isntallcp redis.conf /etc/ |
编译主redis的配置文件
|
1
2
3
4
5
|
vim /etc/redis.conf---------------------------------------------bind 0.0.0.0daemonize yes //后台运行--------------------------------------------- |
编译从redis两台机器的配置文件
|
1
2
3
|
bind 0.0.0.0daemonize yesreplicaof 192.168.18.140 6379 //这条是注释的在原配置文件中可以自己解开注释 写的是主的redis的IP和地址 |
redis服务开启
|
1
|
redis-server /etc/redis.conf |
|
1
2
3
4
5
|
[root@localhost redis-5.0.5]# redis-cli //执行这条命令可以看看到身份 是master 有两个从的主机127.0.0.1:6379> info# Replicationrole:masterconnected_slaves:2 //从的redis的个数 |
从机器:
|
1
2
|
[root@localhost ~]# redis-cli127.0.0.1:6379> info |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# Replicationrole:slave #角色为从master_host:127.0.0.1master_port:6379 #端口master_link_status:downmaster_last_io_seconds_ago:-1master_sync_in_progress:0slave_repl_offset:12431master_link_down_since_seconds:254slave_priority:100slave_read_only:1connected_slaves:0master_replid:c19f164c73069fbf600c31c999ee3d67363c946emaster_replid2:0000000000000000000000000000000000000000master_repl_offset:12431second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:12431 |
在主redis中写入数据, 在从的redis查看是否可以获得
|
1
2
3
4
5
6
|
在主写入数据127.0.0.1:6379> set name zhouOK在从上可以获取到127.0.0.1:6379> get name"zhou" |
开启redis的哨兵模式
接下来的操作可以完成redis的哨兵模式 哨兵模式的完成实在redis的主从基础上完成的。
三台redis都做如下操作
|
1
|
cp /usr/local/src/redis-5.0.6/sentinel.conf /etc/ |
|
1
2
3
4
5
|
vim /etc/sentinel.conf---------------------------------------------------------protected-mode nosentinel monitor mymaster 192.168.189.130 6379 2---------------------------------------------------------- |
|
1
|
redis-server /etc/sentinel.conf --sentinel #哨兵模式的开启命令 |
测试哨兵
关闭redis主的服务器,可以看到从机器的选举过程表示成功


效果演示:



redis操作命令总结:
|
1
2
3
4
5
|
redis-server /etc/redis.conf #开启redis服务redis-cli #进入redis进行存储数据或读取数据redis-server /etc/sentinel.conf --sentinel #哨兵的枚举与查看 |

浙公网安备 33010602011771号