1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > redis主从 哨兵模式配置

redis主从 哨兵模式配置

时间:2022-05-02 17:10:06

相关推荐

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

#Replicationrole:masterconnected_slaves:2slave0:ip=10.211.55.17,port=6379,state=online,offset=1384,lag=1slave1:ip=10.211.55.16,port=6379,state=online,offset=1384,lag=1master_replid:f1301114e024f3a58c7c5f443cd5838ef732772fmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:1384second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:1384

角色是master,连接两个salves

10.211.55.16查看info

#Replicationrole:slavemaster_host:10.211.55.14master_port:6379master_link_status:upmaster_last_io_seconds_ago:2master_sync_in_progress:0slave_repl_offset:1440slave_priority:100slave_read_only:1connected_slaves:0master_replid:f1301114e024f3a58c7c5f443cd5838ef732772fmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:1440second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:867repl_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:masterconnected_slaves:1slave0:ip=10.211.55.16,port=6379,state=online,offset=26750,lag=1master_replid:1bb5eb10fe019e891fa231a18a90058b1061master_replid2:1447aa565b3a56fb40aa73d2f15f96c531aa3e47master_repl_offset:26889second_repl_offset:17887repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:29repl_backlog_histlen:26861

查看哨兵日志,可以看到

27616:X 22 Sep 17:56:18.207 # +failover-state-reconf-slaves master mymaster 10.211.55.14 637927616:X 22 Sep 17:56:18.266 * +slave-reconf-sent slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 637927616:X 22 Sep 17:56:19.118 # -odown master mymaster 10.211.55.14 637927616:X 22 Sep 17:56:19.247 * +slave-reconf-inprog slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 637927616:X 22 Sep 17:56:19.247 * +slave-reconf-done slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 637927616:X 22 Sep 17:56:19.318 # +failover-end master mymaster 10.211.55.14 637927616:X 22 Sep 17:56:19.318 # +switch-master mymaster 10.211.55.14 6379 10.211.55.17 637927616:X 22 Sep 17:56:19.318 * +slave slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.17 637927616:X 22 Sep 17:56:19.318 * +slave slave 10.211.55.14:6379 10.211.55.14 6379 @ mymaster 10.211.55.17 637927616:X 22 Sep 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 17:54:20.151 # +monitor master mymaster 10.211.55.14 6379 quorum 222738:X 22 Sep 17:54:20.152 * +slave slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.14 637922738:X 22 Sep 17:54:20.153 * +slave slave 10.211.55.17:6379 10.211.55.17 6379 @ mymaster 10.211.55.14 637922738:X 22 Sep 17:54:28.893 * +sentinel sentinel 808c3f67715ce88d5ac913d2a9243425aab932c2 10.211.55.17 26379 @ mymaster 10.211.55.14 637922738:X 22 Sep 17:56:16.926 # +sdown master mymaster 10.211.55.14 637922738:X 22 Sep 17:56:17.017 # +odown master mymaster 10.211.55.14 6379 #quorum 2/222738:X 22 Sep 17:56:17.017 # +new-epoch 222738:X 22 Sep 17:56:17.017 # +try-failover master mymaster 10.211.55.14 637922738:X 22 Sep 17:56:17.983 # +new-epoch 322738:X 22 Sep 17:56:17.984 # +vote-for-leader 808c3f67715ce88d5ac913d2a9243425aab932c2 322738:X 22 Sep 17:56:18.043 # 808c3f67715ce88d5ac913d2a9243425aab932c2 voted for 808c3f67715ce88d5ac913d2a9243425aab932c2 322738:X 22 Sep 17:56:18.268 # +config-update-from sentinel 808c3f67715ce88d5ac913d2a9243425aab932c2 10.211.55.17 26379 @ mymaster 10.211.55.14 637922738:X 22 Sep 17:56:18.268 # +switch-master mymaster 10.211.55.14 6379 10.211.55.17 637922738:X 22 Sep 17:56:18.268 * +slave slave 10.211.55.16:6379 10.211.55.16 6379 @ mymaster 10.211.55.17 637922738:X 22 Sep 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,会发现

#Replicationrole:masterconnected_slaves:2slave0:ip=10.211.55.16,port=6379,state=online,offset=607473,lag=1slave1:ip=10.211.55.14,port=6379,state=online,offset=607473,lag=1master_replid:1bb5eb10fe019e891fa231a18a90058b1061master_replid2:1447aa565b3a56fb40aa73d2f15f96c531aa3e47master_repl_offset:607751second_repl_offset:17887repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:29repl_backlog_histlen:607723

17显示有两个slaves了

redis主从配置

redis哨兵配置

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。