redis主从,哨兵模式配置

Redis主从

准备环境
三台centos,ip:10.211.55.14; 10.211.55.16; 10.211.55.17
各装有redis,端口号6379

修改配置redis.conf文件
10.211.55.14
设置密码为
requirepass 1234
其他的根据各自需求配置

10.211.55.16
replicaof 10.211.55.14 6379
masterauth 1234

其余的根据各自需求配置
scp redis.conf parallels@10.211.55.17:/home/parallels/program/redis-6.0.8/redis.conf
将配置文件传给另外一台机器

分别启动着三台机器
10.211.55.14查看info

#Replication
role:master
connected_slaves:2
slave0:ip=10.211.55.17,port=6379,state=online,offset=1384,lag=1
slave1:ip=10.211.55.16,port=6379,state=online,offset=1384,lag=1
master_replid:f1301114e024f3a58c7c5f443cd5838ef732772f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1384
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1384

角色是master,连接两个salves

10.211.55.16查看info

#Replication
role:slave
master_host:10.211.55.14
master_port:6379
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:1440
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:f1301114e024f3a58c7c5f443cd5838ef732772f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1440
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:867
repl_backlog_histlen:574

角色是slave,master地址是14的ip
在master上插入一个key发现副本上同步创建了,
在副本上新增一个key报错
(error) READONLY You can’t write against a read only replica.
这是主从模式下的一个特点。副本只能读,不能写,

Replication的优点在于配置简单,一个master可以同步多个slaves,
master和salve之间的同步是非阻塞的
缺点在于,不具备高空可用行,master宕机后,写入操作停止
主从复制是全量复制,master会fork一个进程对内存做个快照,将这个快照发给salve,如果数据量太大,这个需要有足够的内存才能实现,并且影响服务器性能,
最主要的是网络不稳定,闪断也会做一个全量备份。

Redis群集哨兵模式

主从配置参照之前的文章
redis主从配置
还是那三台centos,ip:10.211.55.14; 10.211.55.16; 10.211.55.17
修改sentinel.conf文件
daemonize yes #后台模式运行
port 26379 #端口号默认
logfile “/home/parallels/program/redis-6.0.8/redis.log” #日志文件

#sentinel monitor
sentinel monitor mymaster 10.211.55.14 6379 2
#Master-name自己定义名字 ip master的IP地址,端口号,
#quorum是一个数字,表示有多少个哨兵认为master失效了。master才算真的失效。
sentinel auth-pass mymaster 1234 #密码

依次启动redis-server redis.conf 启动redis服务
在依次启动 redis-servier sentinel.conf --sentinel 启动哨兵服务
这里我们的master是14,slaves是16,17
我们把master断开服务
会发现17被选举为master了,同过info,可以看到

role:master
connected_slaves:1
slave0:ip=10.211.55.16,port=6379,state=online,offset=26750,lag=1
master_replid:1bb5eb10fe019e891fa231a18a90058b20031061
master_replid2:1447aa565b3a56fb40aa73d2f15f96c531aa3e47
master_repl_offset:26889
second_repl_offset:17887
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:29
repl_backlog_histlen:26861

查看哨兵日志,可以看到

27616:X 22 Sep 2020 17:56:18.207 # +failover-state-reconf-slaves master mymaster 10.211.55.14 6379
27616:X 22 Sep 2020 17:56:18.266 * +slave-reconf-sent slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 6379
27616:X 22 Sep 2020 17:56:19.118 # -odown master mymaster 10.211.55.14 6379
27616:X 22 Sep 2020 17:56:19.247 * +slave-reconf-inprog slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 6379
27616:X 22 Sep 2020 17:56:19.247 * +slave-reconf-done slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 6379
27616:X 22 Sep 2020 17:56:19.318 # +failover-end master mymaster 10.211.55.14 6379
27616:X 22 Sep 2020 17:56:19.318 # +switch-master mymaster 10.211.55.14 6379 10.211.55.17 6379
27616:X 22 Sep 2020 17:56:19.318 * +slave slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.17 6379
27616:X 22 Sep 2020 17:56:19.318 * +slave slave 10.211.55.14:6379 10.211.55.14 6379 @ mymaster 10.211.55.17 6379
27616:X 22 Sep 2020 17:56:49.369 # +sdown slave 10.211.55.14:6379 10.211.55.14 6379 @ mymaster 10.211.55.17 6379

这里停止了14的master,选举17位master,有一个slaves 16
16的服务器上我们查看哨兵日志也可以看到

22738:X 22 Sep 2020 17:54:20.151 # +monitor master mymaster 10.211.55.14 6379 quorum 2
22738:X 22 Sep 2020 17:54:20.152 * +slave slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 6379
22738:X 22 Sep 2020 17:54:20.153 * +slave slave 10.211.55.17:6379 10.211.55.17 6379 @ mymaster 10.211.55.14 6379
22738:X 22 Sep 2020 17:54:28.893 * +sentinel sentinel 808c3f67715ce88d5ac913d2a9243425aab932c2 10.211.55.17 26379 @ mymaster 10.211.55.14 6379
22738:X 22 Sep 2020 17:56:16.926 # +sdown master mymaster 10.211.55.14 6379
22738:X 22 Sep 2020 17:56:17.017 # +odown master mymaster 10.211.55.14 6379 #quorum 2/2
22738:X 22 Sep 2020 17:56:17.017 # +new-epoch 2
22738:X 22 Sep 2020 17:56:17.017 # +try-failover master mymaster 10.211.55.14 6379
22738:X 22 Sep 2020 17:56:17.983 # +new-epoch 3
22738:X 22 Sep 2020 17:56:17.984 # +vote-for-leader 808c3f67715ce88d5ac913d2a9243425aab932c2 3
22738:X 22 Sep 2020 17:56:18.043 # 808c3f67715ce88d5ac913d2a9243425aab932c2 voted for 808c3f67715ce88d5ac913d2a9243425aab932c2 3
22738:X 22 Sep 2020 17:56:18.268 # +config-update-from sentinel 808c3f67715ce88d5ac913d2a9243425aab932c2 10.211.55.17 26379 @ mymaster 10.211.55.14 6379
22738:X 22 Sep 2020 17:56:18.268 # +switch-master mymaster 10.211.55.14 6379 10.211.55.17 6379
22738:X 22 Sep 2020 17:56:18.268 * +slave slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.17 6379
22738:X 22 Sep 2020 17:56:18.268 * +slave slave 10.211.55.14:6379 10.211.55.14 6379 @ mymaster 10.211.55.17 6379
[parallels@10 redis-6.0.8]$ redis-cli 

选举master为17

我们重新启动14,发现14自动变成slave了
在通过info查看17,会发现

#Replication
role:master
connected_slaves:2
slave0:ip=10.211.55.16,port=6379,state=online,offset=607473,lag=1
slave1:ip=10.211.55.14,port=6379,state=online,offset=607473,lag=1
master_replid:1bb5eb10fe019e891fa231a18a90058b20031061
master_replid2:1447aa565b3a56fb40aa73d2f15f96c531aa3e47
master_repl_offset:607751
second_repl_offset:17887
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:29
repl_backlog_histlen:607723

17显示有两个slaves了

redis主从配置
redis哨兵配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值