8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

(十七)高并发redis学习笔记:3节点哨兵搭建

来源:本站原创 浏览:117次 时间:2021-10-16


文章目录
  • 1、哨兵的配置文件
  • 2、部署三台redis
  • 3、启动哨兵进程
  • 4、检查哨兵状态


1、哨兵的配置文件

sentinel.conf,这个文件就在redis目录下:

每一个哨兵都可以去监控多个maser-slaves的主从架构,相同的一套哨兵集群,就可以去监控不同的多个redis主从集群。可以给每个redis主从集群分配一个逻辑的名称,如下面的mymaster和resque。下面其实就是可以监听两个集群的master。

sentinel monitor mymaster 127.0.0.1 6379 2sentinel down-after-milliseconds mymaster 60000sentinel failover-timeout mymaster 180000sentinel parallel-syncs mymaster 1sentinel monitor resque 192.168.1.3 6380 4sentinel down-after-milliseconds resque 10000sentinel failover-timeout resque 180000sentinel parallel-syncs resque 5

每个配置什么意思呢?

  • sentinel monitor mymaster 127.0.0.1 6379 2 :表示监听master节点,ip,端口,2表示的是quorum
  • sentinel down-after-milliseconds mymaster 60000:ping超时则认为是宕机的时间设置,超过多少毫秒跟一个redis实例断了连接,哨兵就可能认为这个redis实例挂了
  • sentinel failover-timeout mymaster 180000: 执行故障转移的timeout超时时长
  • sentinel parallel-syncs mymaster 1: parallel-syncs,新的master别切换之后,同时有多少个slave被切换到去连接新master,重新做同步,数字越低,花费的时间越多.假设你的redis是1个master,4个slave,然后master宕机了,4个slave中有1个切换成了master,剩下3个slave就要挂到新的master上面去.
    这个时候,如果parallel-syncs是1,那么3个slave,一个一个地挂接到新的master上面去,1个挂接完,而且从新的master sync完数据之后,再挂接下一个.如果parallel-sy��ϼ,��ϼncs是3,那么一次性就会把所有slave挂接到新的master上去.

上面的三个配置,都是针对某个监控的master配置的,给其指定上面分配的名称即可。
这是最小的哨兵配置,如果发生了master-slave故障转移,或者新的哨兵进程加入哨兵集群,那么哨兵会自动更新自己的配置文件。

quorum的解释如下:

  • (1)至少多少个哨兵要一致同意,master进程挂掉了,或者slave进程挂掉了,或者要启动一个故障转移操作
  • (2)quorum是用来识别故障的,真正执行故障转移的时候,还是要在哨兵集群执行选举,选举一个哨兵进程出来执行故障转移操作
  • (3)假设有5个哨兵,quorum设置了2,那么如果5个哨兵中的2个都认为master挂掉了; 2个哨兵中的一个就会做一个选举,选举一个哨兵出来,执行故障转移; 如果5个哨兵中有3个哨兵都是运行的,那么故障转移就会被允许执行
2、部署三台redis

我们之前已经在两台机器上部署了redis,现在我们就需要再部署一台。只要安装redis就可以了,不需要去部署redis实例的启动。

安装tcl:

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gzcd  /usr/local/tcl8.6.1/unix/./configure  make && make install

安装redis,使用redis-3.2.8.tar.gz(截止2017年4月的最新稳定版)

tar -zxvf redis-3.2.8.tar.gzcd redis-3.2.8make && make testmake install

2、正式的配置
下面是三台机器都需要配置:

哨兵默认用26379端口,默认不能跟其他机器在指定端口连通,只能在本地访问,所以我们需要另外设置端口,以及bind机器(虚拟机)ip。
首先需要创建文件,主要是放sentinal

mkdir /etc/sentinel# (这行是注释:主要是创建sentinel pid文件存放内存)mkdir -p /var/sentinel/5000

修改conf文件:
/etc/sentinel/5000.conf

port 5000bind 192.168.8.181# (这行是注释:主要是指定sentinel pid文件存放内存)dir /var/sentinel/5000# (这行是注释:主要是指定哨兵监控的master的地址,ip,和quorum)sentinel monitor mymaster 192.168.8.181 6379 2sentinel down-after-milliseconds mymaster 30000sentinel failover-timeout mymaster 60000sentinel parallel-syncs mymaster 1

改完之后我们放到/etc/sentinal下,注意bind的地址是本机地址,每个机器不同,但是monitor的地址却是相同的。

3、启动哨兵进程

在三台机器上,分别启动三个哨兵进程,组成一个集群,观察一下日志的输出。启动的时候我们只需要redis-sentinel+指定文件即可。

redis-sentinel /etc/sentinal/5000.confredis-server /etc/sentinal/5000.conf --sentinel

日志里会显示出来,每个哨兵都能去监控到对应的redis master,并能够自动发现对应的slave,哨兵之间,互相会自动进行发现,用的就是之前说的pub/sub,消息发布和订阅channel消息系统和机制。
我们看启动的日志:
第一个哨兵:

第二个哨兵:

第三个哨兵:

注意!!!
要是之前设置了redis主节点的认证机制,那么需要在配置文件5000.conf加上,否则哨兵一起来就会判断master为sdown

#下面这句话必须在配置监听的master后面sentinel auth-pass mymaster hadoop

还有一个值得注意的是,防火墙需要关掉,要不不同的机器之间是没有办法连接的。使用telnet 没有办法ping通。
下面是用Telnet ping其他机器

yum install -y telnettelnet 192.168.8.181 5000

如果需要关掉防火墙,我试了不少命令,但是不太行,所以用了下面的,纯属自己玩,生产不能这样干。

iptables -F

或者一劳永逸方法:

直接关闭防火墙

systemctl stop firewalld.service          #停止firewallsystemctl disable firewalld.service    #禁止firewall开机启动

如果是关掉之后重新启动哨兵,那么就不会再显示+slave和sentinel,因为这些已经加到配置文件中了。
再次启动:

配置文件最后面,之前的slave和sentinel已经被添加到节点中:

4、检查哨兵状态

查看msater信息:

redis-cli -h 192.168.31.187 -p 5000sentinel master mymaster

查看slave信息:

SENTINEL slaves mymaster


查看sentinel信息:

SENTINEL sentinels mymaster

SENTINEL get-master-addr-by-name mymaster


此文章仅代表自己(本菜鸟)学习积累记录,或者学习笔记,如有侵权,请联系作者删除。人无完人,文章也一样,文笔稚嫩,在下不才,勿喷,如果有错误之处,还望指出,感激不尽~

技术之路不在一时,山高水长,纵使缓慢,驰而不息。

公众号:秦怀杂货店

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net