[置顶] 搭建一个简单的redis-sentinel(哨兵机制)集群
2018-01-03 15:12
656 查看
今天来给大家分享一下怎样快速搭建一个简单的基于哨兵模式的redis集群,集群的整体架构图如下所示:
使用两台服务器模拟六个节点,一台服务器一个master,两个salve。
redis版本:4.0.1。
两个服务器都是centos7.3系统。
关于redis的安装不再赘述,默认两台服务器分别已安装好redis。
一、redis一主两从环境的搭建
首先启动一个redis服务
然后分别启动两个配置不同端口号redis服务,并设置为6379端口redis服务的两个从服务。
--port :指定启动服务的端口号;
--slaveof :配置当前服务成为某redis服务的slave,后面分别是master的ip和端口号。
来看一下启动之后的样子:
我们可以看到6379、6380、6381三个端口服务都已启动。
在另一台服务器上也进行同样的操作,我们就可以得到我们想要的redis环境。
port :指定启动服务的端口号;
Sentinel monitor <name> <ip> <port> <quorum>
name :redis主服务名称,可以自行命名,但是在一个sentinel网络中,一个redis主服务只能有一个名称;
本次在两个服务器分别有一个master,分别命名为s1,s2。
ip和port :redis主服务的IP地址和端口号;
quorum :表示要将这个主服务器判断为失效并下线至少需要2个sentinel同意;
本次使用了三个sentinel来构成sentinel网络,所以在这里设置为2,一般要启动奇数个sentinel,以保证不会出现正反方投票数相等的情况。
protected-mode :关闭保护模式(默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis
node和sentinel的protected-mode修改为no,若只修改redis node,从远程连接sentinel后,依然是无法正常使用的,且sentinel的配置文件中没有protected-mode配置项,需要手工添加。依据redis文档的说明,若protected-mode设置为no后,需要增加密码证或是IP限制等保护机制,否则是极度危险的。)
以同样的方法在两个服务器中分别新建三个sentinel的配置文件。
:
在同一个服务器中配置多个时只需要将文件名和端口名修改即可。
本次在服务器一中配置了两个,端口号分别为26379和26380,在服务器二中配置一个,端口号为26379。
Sentinel会根据Master的配置自动发现Master的Slaves,因此不需要配置slave。
然后我们分别启动三个sentinel服务:
如果没有问题的话,我们将会看到下面的内容:
然后我们分别启动三个sentinel:
自此我们一个简单的redis-sentinel(哨兵机制)集群就搭建完成了。
我们可以进行简单的实验来测试集群的可靠性,我们强行停止其中的一个master,模拟其中一个master服务器突然宕机的情况:
然后我们可以看到sentinel从发现一个master宕机,到投票确认,再到从slaves中选出新的master的整个过程:
我们可以看到端口号为6381的redis服务被重新选举为新的master,原来的master被重新设置为slave,状态为未启动。
经过测试发现,新的master可以正常使用:
然后我们重新启动端口号为6379的redis服务可以发现:
sentinel检测到6379端口的redis服务重新上线。
我们可以看到在master宕机之后,sentinel会重新设置新的maste,当原来的master重新上线后会自动成为一个slave。
搭建一个简单的redis-sentinel(哨兵机制)集群的分享就到这里。
使用两台服务器模拟六个节点,一台服务器一个master,两个salve。
redis版本:4.0.1。
两个服务器都是centos7.3系统。
关于redis的安装不再赘述,默认两台服务器分别已安装好redis。
一、redis一主两从环境的搭建
首先启动一个redis服务redis-server一般默认端口是6379。
然后分别启动两个配置不同端口号redis服务,并设置为6379端口redis服务的两个从服务。
redis-server --port 6380 --slaveof <ip地址> 6379 redis-server --port 6381 --slaveof <ip地址> 6379
--port :指定启动服务的端口号;
--slaveof :配置当前服务成为某redis服务的slave,后面分别是master的ip和端口号。
来看一下启动之后的样子:
我们可以看到6379、6380、6381三个端口服务都已启动。
在另一台服务器上也进行同样的操作,我们就可以得到我们想要的redis环境。
二、哨兵模式集群的搭建
首先我们使用vim编辑器创建一个sentinel.conf的文件,并配置一下sentinel的信息。vim sentinel1.conf
port 26379 sentinel monitor s1 <ip地址> 6379 2 sentinel monitor s2 <ip地址> 6379 2 protected-mode no
port :指定启动服务的端口号;
Sentinel monitor <name> <ip> <port> <quorum>
name :redis主服务名称,可以自行命名,但是在一个sentinel网络中,一个redis主服务只能有一个名称;
本次在两个服务器分别有一个master,分别命名为s1,s2。
ip和port :redis主服务的IP地址和端口号;
quorum :表示要将这个主服务器判断为失效并下线至少需要2个sentinel同意;
本次使用了三个sentinel来构成sentinel网络,所以在这里设置为2,一般要启动奇数个sentinel,以保证不会出现正反方投票数相等的情况。
protected-mode :关闭保护模式(默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis
node和sentinel的protected-mode修改为no,若只修改redis node,从远程连接sentinel后,依然是无法正常使用的,且sentinel的配置文件中没有protected-mode配置项,需要手工添加。依据redis文档的说明,若protected-mode设置为no后,需要增加密码证或是IP限制等保护机制,否则是极度危险的。)
以同样的方法在两个服务器中分别新建三个sentinel的配置文件。
:
在同一个服务器中配置多个时只需要将文件名和端口名修改即可。
本次在服务器一中配置了两个,端口号分别为26379和26380,在服务器二中配置一个,端口号为26379。
Sentinel会根据Master的配置自动发现Master的Slaves,因此不需要配置slave。
然后我们分别启动三个sentinel服务:
redis-sentinel sentinel1.confsentinel1.conf即是我们刚才新建的sentinel配置文件的文件名。
如果没有问题的话,我们将会看到下面的内容:
然后我们分别启动三个sentinel:
自此我们一个简单的redis-sentinel(哨兵机制)集群就搭建完成了。
我们可以进行简单的实验来测试集群的可靠性,我们强行停止其中的一个master,模拟其中一个master服务器突然宕机的情况:
然后我们可以看到sentinel从发现一个master宕机,到投票确认,再到从slaves中选出新的master的整个过程:
我们可以看到端口号为6381的redis服务被重新选举为新的master,原来的master被重新设置为slave,状态为未启动。
经过测试发现,新的master可以正常使用:
然后我们重新启动端口号为6379的redis服务可以发现:
sentinel检测到6379端口的redis服务重新上线。
我们可以看到在master宕机之后,sentinel会重新设置新的maste,当原来的master重新上线后会自动成为一个slave。
搭建一个简单的redis-sentinel(哨兵机制)集群的分享就到这里。
相关文章推荐
- 搭建redis-sentinel(哨兵机制)集群
- 搭建redis-sentinel(哨兵机制)集群
- 搭建redis-sentinel(哨兵机制)集群
- 搭建redis-sentinel(哨兵机制)集群
- Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
- 基于哨兵(Sentinel)模式搭建Redis集群搭建
- redis sentinel哨兵模式集群搭建教程
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- Redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis高可用之sentinel哨兵集群详解与搭建
- Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
- 基于Sentinel(哨兵)搭建实现Redis高可用集群
- redis主从集群搭建及容灾部署(哨兵sentinel)
- 基于sentinel(哨兵)实现redis集群的管理
- [置顶] redis 集群搭建
- redis高可用方案之sentinel(哨兵集群)