文档章节

redis集群--多哨兵模式搭建

码上青天
 码上青天
发布于 02/26 16:16
字数 1541
阅读 32
收藏 5
点赞 0
评论 0
  • 本文目标

本文记录redis集群多哨兵的搭建和测试。

  • 安装准备

centos版本:6.7

redis版本:3.2.3

安装方式:源码安装

  • 操作步骤

    6379为主节点,6389和6399为从节点; 26379,26479,26579为哨兵节点。

1、redis.conf配置

主的保持默认的不变

二个从的分别打开配置文件

找到设置端口的地方

分别设置为 6389 和6399

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6389
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6399
然后都在

# slaveof <masterip> <masterport>
一行的下面增加

slaveof 127.0.0.1 6379
这样主从的配置就ok了

2、sentinel.conf

分别打开sentinel.conf配置文件

修改他们的端口为

 26379 26479 26579

sentinel monitor mymaster 127.0.0.1 6379 2
配置中的这一行表示 我们要监视的主的ip和端口,mymaster是主的名称,因为我们的主是127.0.0.1:6379,所以三个哨兵中的这个地方都不用修改。

3、启动每个服务

redis-server /usr/local/redis_cluster/6379.conf
redis-server /usr/local/redis_cluster/6389.conf
redis-server /usr/local/redis_cluster/6399.conf
redis-sentinel /usr/local/redis_cluster/26379.conf
redis-sentinel /usr/local/redis_cluster/26479.conf
redis-sentinel /usr/local/redis_cluster/26579.conf

4、测试

4.1 正常情况

哨兵26379

[root@itsecond src]# redis-sentinel /usr/local/redis_cluster/26379.conf
3259:X 26 Feb 22:40:12.836 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.2.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379
 |    `-._   `._    /     _.-'    |     PID: 3259
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

3259:X 26 Feb 22:40:12.838 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
3259:X 26 Feb 22:40:12.847 # Sentinel ID is 7d47930e60e1fcdc5099efdd614472372ae3ffad
3259:X 26 Feb 22:40:12.847 # +monitor master mymaster 127.0.0.1 6379 quorum 2
3259:X 26 Feb 22:40:12.847 * +slave slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3259:X 26 Feb 22:40:12.848 * +slave slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3259:X 26 Feb 22:40:18.897 * +sentinel sentinel 297ee9394b66ca80fae2d6605311d346765a9901 127.0.0.1 26479 @ mymaster 127.0.0.1 6379
3259:X 26 Feb 22:40:21.280 * +sentinel sentinel 337468c9cc89e34a76519a7a370946f2c7529ff3 127.0.0.1 26579 @ mymaster 127.0.0.1 6379

哨兵26479

[root@itsecond src]# redis-sentinel /usr/local/redis_cluster/26479.conf
3262:X 26 Feb 22:40:16.820 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.2.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26479
 |    `-._   `._    /     _.-'    |     PID: 3262
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

3262:X 26 Feb 22:40:16.821 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
3262:X 26 Feb 22:40:16.830 # Sentinel ID is 297ee9394b66ca80fae2d6605311d346765a9901
3262:X 26 Feb 22:40:16.830 # +monitor master mymaster 127.0.0.1 6379 quorum 2
3262:X 26 Feb 22:40:16.831 * +slave slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3262:X 26 Feb 22:40:16.832 * +slave slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3262:X 26 Feb 22:40:16.951 * +sentinel sentinel 7d47930e60e1fcdc5099efdd614472372ae3ffad 127.0.0.1 26379 @ mymaster 127.0.0.1 6379
3262:X 26 Feb 22:40:21.280 * +sentinel sentinel 337468c9cc89e34a76519a7a370946f2c7529ff3 127.0.0.1 26579 @ mymaster 127.0.0.1 6379

哨兵26579

[root@itsecond src]# redis-sentinel /usr/local/redis_cluster/26579.conf
3265:X 26 Feb 22:40:19.276 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.2.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26579
 |    `-._   `._    /     _.-'    |     PID: 3265
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

3265:X 26 Feb 22:40:19.277 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
3265:X 26 Feb 22:40:19.287 # Sentinel ID is 337468c9cc89e34a76519a7a370946f2c7529ff3
3265:X 26 Feb 22:40:19.287 # +monitor master mymaster 127.0.0.1 6379 quorum 2
3265:X 26 Feb 22:40:19.288 * +slave slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 22:40:19.288 * +slave slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 22:40:20.928 * +sentinel sentinel 297ee9394b66ca80fae2d6605311d346765a9901 127.0.0.1 26479 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 22:40:21.058 * +sentinel sentinel 7d47930e60e1fcdc5099efdd614472372ae3ffad 127.0.0.1 26379 @ mymaster 127.0.0.1 6379

4.2 从机宕机与恢复

哨兵的反应

#宕机
3259:X 26 Feb 22:59:34.700 # +sdown slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
#恢复
3259:X 26 Feb 23:02:40.808 * +reboot slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3259:X 26 Feb 23:02:40.867 # -sdown slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379

4.3主机宕机

哨兵26379

3259:X 26 Feb 23:03:44.035 # +sdown master mymaster 127.0.0.1 6379
3259:X 26 Feb 23:03:44.072 # +new-epoch 1
3259:X 26 Feb 23:03:44.074 # +vote-for-leader 337468c9cc89e34a76519a7a370946f2c7529ff3 1
3259:X 26 Feb 23:03:44.125 # +odown master mymaster 127.0.0.1 6379 #quorum 3/2
3259:X 26 Feb 23:03:44.125 # Next failover delay: I will not start a failover before Mon Feb 26 23:09:44 2018
3259:X 26 Feb 23:03:44.382 # +config-update-from sentinel 337468c9cc89e34a76519a7a370946f2c7529ff3 127.0.0.1 26579 @ mymaster 127.0.0.1 6379
3259:X 26 Feb 23:03:44.382 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6399
3259:X 26 Feb 23:03:44.383 * +slave slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6399
3259:X 26 Feb 23:03:44.383 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399
3259:X 26 Feb 23:04:14.402 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399

哨兵26479

3262:X 26 Feb 23:03:43.949 # +sdown master mymaster 127.0.0.1 6379
3262:X 26 Feb 23:03:44.071 # +new-epoch 1
3262:X 26 Feb 23:03:44.072 # +vote-for-leader 337468c9cc89e34a76519a7a370946f2c7529ff3 1
3262:X 26 Feb 23:03:44.385 # +config-update-from sentinel 337468c9cc89e34a76519a7a370946f2c7529ff3 127.0.0.1 26579 @ mymaster 127.0.0.1 6379
3262:X 26 Feb 23:03:44.385 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6399
3262:X 26 Feb 23:03:44.385 * +slave slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6399
3262:X 26 Feb 23:03:44.385 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399
3262:X 26 Feb 23:04:14.432 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399

哨兵26579

3265:X 26 Feb 23:03:43.995 # +sdown master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.068 # +odown master mymaster 127.0.0.1 6379 #quorum 2/2
3265:X 26 Feb 23:03:44.068 # +new-epoch 1
3265:X 26 Feb 23:03:44.068 # +try-failover master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.070 # +vote-for-leader 337468c9cc89e34a76519a7a370946f2c7529ff3 1
3265:X 26 Feb 23:03:44.073 # 297ee9394b66ca80fae2d6605311d346765a9901 voted for 337468c9cc89e34a76519a7a370946f2c7529ff3 1
3265:X 26 Feb 23:03:44.074 # 7d47930e60e1fcdc5099efdd614472372ae3ffad voted for 337468c9cc89e34a76519a7a370946f2c7529ff3 1
3265:X 26 Feb 23:03:44.170 # +elected-leader master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.170 # +failover-state-select-slave master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.223 # +selected-slave slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.223 * +failover-state-send-slaveof-noone slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.282 * +failover-state-wait-promotion slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.286 # +promoted-slave slave 127.0.0.1:6399 127.0.0.1 6399 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.286 # +failover-state-reconf-slaves master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:44.382 * +slave-reconf-sent slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:45.193 # -odown master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:45.330 * +slave-reconf-inprog slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:45.330 * +slave-reconf-done slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:45.412 # +failover-end master mymaster 127.0.0.1 6379
3265:X 26 Feb 23:03:45.412 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6399
3265:X 26 Feb 23:03:45.413 * +slave slave 127.0.0.1:6389 127.0.0.1 6389 @ mymaster 127.0.0.1 6399
3265:X 26 Feb 23:03:45.413 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399
3265:X 26 Feb 23:04:15.473 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399

4.4主机恢复

哨兵26379的反应

3259:X 26 Feb 23:35:29.084 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399
3259:X 26 Feb 23:35:39.082 * +convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399

哨兵26479和26579的反应

3262:X 26 Feb 23:35:29.358 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6399

 

© 著作权归作者所有

共有 人打赏支持
码上青天
粉丝 14
博文 29
码字总数 21602
作品 0
杭州
程序员
redis集群--单哨兵模式搭建

本文目标 本文记录redis集群单哨兵的搭建和测试。 安装准备 centos版本:6.7 redis版本:3.2.3 安装方式:源码安装 操作步骤 6379为主节点,6479和6579为从节点; 26379为哨兵节点。 1、创建...

码上青天
02/24
10
0
通用Redis架构+实用辅助工具,逐一攻破DBA痛难点!

今天将和大家介绍常见的Redis架构、以往我在陌陌、去哪儿网做Redis时的一些经验,主要包括DBA日常维护MySQL或Redis时需要做的工作、如何根据日常工作和业务的需求来制定Redis架构,最后是分享...

DBAplus社群
04/18
0
0
Redis Cluster高可用(HA)集群环境搭建详细步骤

1.为什么要有集群 由于Redis主从复制架构每个数据库都要保存整个集群中的所有数据,容易形成木桶效应,所以Redis3.0之后的版本添加特性就是集群(Cluster) 2.Redis集群架构说明 架构细节: (1)...

yunlielai
03/25
0
0
RedisCluter集群(一):Redis高可用集群Redis Cluster搭建

原文地址:https://my.oschina.net/lyyjason/blog/1842002 前言: Redis3.0版本之前,可以通过Redis Sentinel(哨兵)来实现高可用 ( HA ),从3.0版本之后,官方推出了Redis Cluster,它的主...

lyyjason
07/07
0
0
Redis主从以及哨兵集群搭建(二)

Redis主从以及哨兵集群搭建 一、前言 Redis主从同步原理同MySQL的主从原理十分相似,而解决Redis单点故障的哨兵机制(sentinel)又同解决MySQL单点故障的MHA十分相似。因此我们在学习Redis时...

PowerMichael
2017/07/30
0
0
Spring+Redis Cluster3.0.x

Redis 3.0集群搭建方法: http://hot66hot.iteye.com/blog/2050676 Redis 3.0.x使用方法 1.Maven依赖 2.Spring配置 3.增加connect-redis.properties 配置文件 这里配置了6个节点 4.增加实现的...

满小茂
2016/04/28
162
0
Redis哨兵模式及配置详解

前言 在上一篇redis的主从复制中已经实现了redis的主从架构,但是如果redis的主从架构中出现宕机怎么办?如果从redis宕机相对简单一些,那么如果住redis的宕机就会比较麻烦,需要我们手动进行...

刘大磊的博客
2017/12/19
0
0
redis——集群

现实中redis需要若干台redis服务器的支持: (1)从结构上,单个Redis服务器会产生单点故障,同时一台服务器需要承受所有的请求负载。这就需要为数据生成多个副本并分配在不同的服务器上。 ...

nao
2016/05/24
130
0
Redis高级特性介绍及实例分析

本文将为大家介绍Redis的一些高级特性以及结合一个具体的实际案例来对Redis进行设计分析。 Redis基础类型回顾 String Redis中最基本,也是最简单的数据类型。注意,VALUE既可以是简单的Strin...

zfz_linux_boy
2017/02/26
0
0
Redis 哨兵模式实现主从故障互切换

介绍 Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票...

科技小能手
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

第三章 spring-bean之beanFactory系列(1)

前言 spring的基本问题,每次面试基本会问题。比如 - spring是什么回答是ioc,aop,第三个就是beanfactory。 - spring使用什么模式,100%的人回答是工厂模式。 - 这面的问题大家都知道。关于...

鸟菜啊
8分钟前
0
0
箭头函数

var foo = v => v;// 等同于var foo = function (v) {return v;} 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分 var f = () => 5;// 等同于var f = functio...

litCabbage
9分钟前
0
0
软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]: 前言: 要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希...

原创小博客
10分钟前
0
0
重写视频播放进度条

需要注意的地方,基于html vedio 标准使用期去了解一下 1.想去掉视频默认的播放条,去掉controls属性。 2.需要预加载视频加上preload="auto"属性。 1.js代码 $(function(){ init(); }); var ...

轻量级赤影
18分钟前
0
0
saltstack管理任务计划-添加&删除

1.服务端配置 >>编辑 top.sls 文件 # vim /srv/salt/top.sls //修改为如下 base: '192.168.*.*': - crontest >>编辑crontest.sls文件添加计划任务 cron-test: cron.present: - name: /bin/to......

硅谷课堂
18分钟前
0
0
sql中多表查询及其左连字段

SELECT s.*,t.teach_name FROM `stu` s, `teacher` t WHERE s.teacher_id = t.row_id AND s.teacher_id = 1 s.* s表中 全部字段 t.teach_name t表中teach_name 字段 SELECT s.*,t.teach_nam......

森火
21分钟前
0
0
ES9-mapping参数

1.概述 ElasticSearch提供了丰富的参数对文档字段进行定义,比如字段的分词器、字段权重、日期格式、检索模型等等。可以查看官网每个参数的定义及使用:https://www.elastic.co/guide/en/ela...

贾峰uk
24分钟前
1
0
Java泛型学习

一、泛型的概念 List list = new ArrayList(); list.add("corn"); String name = (String) list.get(0); 1、这里将一个对象放入集合中,集合不会记住次对象的类型,当再次从集合中取出此对象...

cjxcloud
25分钟前
0
0
android屏幕适配

android屏幕适配 今日头条的适配方式:https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA 采用的是鸿阳的适配方式,项目依赖: compile 'com.zhy:autolayout:1.4.5' 使用步骤: 在manif...

android-key
30分钟前
0
0
istio 0.8 安装步骤

============================ istio 0.8 安装步骤--------------------------------------- istio 0.8 安装步骤 1.安装k8s环境 参考:http://sealyun.com/pro/products/ master,salve两台机......

xiaomin0322
32分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部