redis哨兵的启动和redis实例的启动没有关系。所以可以在任何机器上启动redis哨兵。至少要保证有两个哨兵在运行,要不然宕机后哨兵会找不到主节点。

配置步骤:

1.在redis的配置文件中添加鉴权和验证(添加requirepass和masterauth),redis主从都需要配置,配置的密码一般相同。

2.redis一般都在内网运行,所以注释掉#bind 127.0.0.1

3.关闭保护模式,protected-mode 把yes改为no

4.添加sentinel.conf配置文件:

  1. #sentinel端口
  2. port
  3. #工作路径,注意路径不要和主重复
  4. dir "/usr/local/redis-6379"
  5. # 守护进程模式
  6. daemonize yes
  7. #关闭保护模式
  8. protected-mode no
  9. # 指明日志文件名
  10. logfile "./sentinel.log"
  11. #哨兵监控的master,主从配置一样,这里只用输入redis主节点的ip/port和法定人数。
  12. sentinel monitor mymaster 192.168.125.128
  13. # master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
  14. sentinel down-after-milliseconds mymaster
  15. #若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
  16. sentinel failover-timeout mymaster
  17. #设置master和slaves验证密码
  18. sentinel auth-pass mymaster
  19. sentinel parallel-syncs mymaster //指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步

Sentinel参数在运行时可以使用SENTINEL SET命令更改

上面配置中的mymaster为该主从的名字,代码中会使用。

通过哨兵查看集群的信息:

  1. $ redis-cli -p
  2. sentinel master mymaster//查看master的状态
  3. SENTINEL slaves mymaster //查看salves的状态
  4. SENTINEL sentinels mymaster //查看哨兵的状态
  5. SENTINEL get-master-addr-by-name mymaster//获取当前master的地址
  6. info sentinel//查看哨兵信息

启动哨兵:

  1. 方式一:redis-sentinel /path/to/sentinel.conf(推荐,这种方式启动和redis实例没有任何关系)
  2. 方式二:redis-server /path/to/sentinel.conf --sentinel

java测试代码:

  1. public static void main(String[] args) {
  2. Set<String> sentinels = new HashSet<String>();
  3. sentinels.add(new HostAndPort("192.168.125.128", 26379).toString());
  4. sentinels.add(new HostAndPort("192.168.125.129", 26379).toString());
  5. sentinels.add(new HostAndPort("192.168.125.130", 26379).toString());
  6. JedisSentinelPool sentinelPool = new JedisSentinelPool("mymaster", sentinels);
  7. System.out.println("Current master: " + sentinelPool.getCurrentHostMaster().toString());
  8. Jedis master = sentinelPool.getResource();
  9. master.auth("pwdisadmin");
  10. master.set("username","cczz");
  11. Jedis master2 = sentinelPool.getResource();
  12. master2.auth("pwdisadmin");
  13. String value = master2.get("username");
  14. System.out.println("username: " + value);
  15. master2.close();
  16. sentinelPool.close();
  17. sentinelPool.destroy();
  18. }

redis哨兵配置主从的更多相关文章

  1. redis哨兵配置

    redis哨兵配置主从   redis哨兵的启动和redis实例的启动没有关系.所以可以在任何机器上启动redis哨兵.至少要保证有两个哨兵在运行,要不然宕机后哨兵会找不到主节点. 配置步骤: 1.在 ...

  2. redis哨兵配置 总结

    本文内容涵盖 windows下单机部署redis多实例(docker.linux下的配置也可参考本文) redis主从配置 redis哨兵配置 以spring boot redis demo下一个存a ...

  3. Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步

    Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步,一定要绑定内网IP,而对于跨机房的问题,可以使用iptables进行nat转发来解决.

  4. CentOS7下Yum安装Redis并配置主从

    原文 :https://blog.51cto.com/11134648/2158209 Redis简介: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库.它通常被 ...

  5. redis:安装配置主从

    1.安装依赖包 yum install gcc gcc-c++ -y 2.下载安装包,解压 cd /usr/local/src/wget http://download.redis.io/releas ...

  6. windows下安装和redis主从配置(通过哨兵控制主从切换)

    首先自己先得了解什么是redis,这里就不详做介绍什么是redis了,这篇文章主要讲的是怎么样配置 redis怎样配置主从关系和哨兵控制主从服务器的配置以及应用,就当是给自己记笔记吧! 1.下载red ...

  7. springboot中配置主从redis

    测试redis的主从配置 redis实例 文件夹名称如下 redis_master_s redis_slaver1_s redis_slaver2_s redis.conf文件 master的redi ...

  8. Redis哨兵模式高可用部署和配置

    一.Redis 安装配置 1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压安装包 tar -zxv ...

  9. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

随机推荐

  1. 【转】【WPF】WPF样式(Style)—触发器

    样式(Styles)由三部分构成:设置器(Setter).触发器(Triggers).资源(Resources). (1)触发器,让样式的使用更加准确.灵活和高效. (2)触发器(Triggers)主 ...

  2. C# Winform关于控件TabControl闪烁的问题

    自己重写了一个Form,然后再该form上放一个TabControl鼠标移上去会闪烁,经过网上查找解决方案,最后总算是解决了....下面附上代码: 重写一个TabControl代码如下: using ...

  3. matplotlib 的几种风格 练习

    〇.准备数据 import numpy as np x = np.linspace(0, 5, 10) y = x ** 2 一.matlab风格的API 1.单图 from pylab import ...

  4. phpcms-v9视频模型的添加

    1.  下载化蝶自由飞插件http://www.phpcms.cn/show-90-8-1.html 下载回去后解压,覆盖 phpcms/ 和 statics/ 目录即可. 2.  执行一个sql语句 ...

  5. [CareerCup] 11.6 Search a 2D Matrix 搜索一个二维矩阵

    11.6 Given an M x N matrix in which each row and each column is sorted in ascending order, write a m ...

  6. Metasploit_01_信息搜集技术

    信息搜集技术 姓名: 谈愈敏 学号: 20135220 日期: 2016.9.7 攻击机:135220-V.BT5, msf 靶 机:135220-V.W2k3_Sploitable 一.实验过程概述 ...

  7. (转)Python实例手册

    原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...

  8. 查询一个ID出现2种结果的情况

    项目中书籍分个人和机构,分属不同的表 所以有的时候ID是一样的,那么只根据ID查询书籍就会存在ID=xxx的既有个人又有机构,而通常我们可能只需要一个,多的没做区分就出问题了! 所以数据统一做查询的时 ...

  9. (转)Android Binder设计与实现 – 设计篇

    原文地址(貌似已打不开):Android Binder设计与实现 – 设计篇 ------------------------------------------------------------- ...

  10. iOS -- 生成有logo的二维码

    - (void)createLogoImage { NSArray *filter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; NSL ...