sentinel支持的redis高可用集群配置详解
目录
- 一、首先配置redis的主从同步集群
- 二、sentinel高可用
一、首先配置redis的主从同步集群
1、主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口。如果需要验证的,也要加多一行,认证密码。
slaveof 192.168.20.26 5268
masterauth hodge01
一主多从的话,就启用多个从库。其中,从库都是一样的方案。本次有两个slave。
2、命令检查
/usr/local/redis/bin/redis-cli -p 5257 -a hodge01 info Replication
二、sentinel高可用
1、概况。sentinel是redis自带的附件,在新的版本redis安装都有sentinel。sentinel是称作哨兵的监控机制,当达到一定数量的sentinel投票支持,redis的master就会切换。本次使用docker容器搭建,主要讲述配置文件。
2、配置文件。注意:每次要抛弃上一次集群都考检查配置文件,因为sentinel是靠更改配置文件实现功能的。
监听端口。
第一行最后的那个2,是说明需要两个sentinel确认客观下线,需要切换,才能操作。
如果有需要密码验证的,要在这里添加密码信息,否则不能通讯。
在配置文件后面几行是启动后系统自动添加。
3、启动。
启动之后,本实验就是3台redis,三台sentinel,sentinel的配置文件自动填写了sentinel集群和redis集群的信息。因为网络影响,所以单单凭一台sentinel之言就随便切换,所以一般情况需要3台sentinel以上。
确认5268是master,连接两个slave。
4、测试。
a、关掉5268redis。
b、检查4157和5257redis。发现master已经转移到5257。
c、查看转移日志。
+failover-state-reconf-slaves master mymaster
…………
+failover-end master mymaster
第一行是确认预先的架构复核标准。
第二行认为5268已经客观下线。
第三行表示准备重写主从架构的配置文件。
第四行表示开始重写。
第五行表示故障切换处理5268完毕.。
第六、七行记录在sentinel中已经认为4157和5268作为slave已经追随5257master。
第九行sentinel认为5268已经沦落为slave,但是并不在线。紧接着标记主观下线。
第十行表示5268重启后符合slave标准,用“-”移除主观下线记录。
但是,查了两次5257,并没有发现5268的信息。于是我们查看redis5258的日志,看没有连上master是怎么回事,反正sentinel那边已经认为连上。
d、恢复后的redis5268的日志。(异常处理)
NOAUTH Authentication required.
满满的认证不成功,已经很明显告知,5268恢复之后就是slave了,因为此时的5257已经有了密码,而5268没有密码记录,自然没有认证成功连上master5257。
所以在redis5268加上在master面前的认证密码。
masterauth hodge01
e、重启验证。
重启redis5268
检查redis master5257,发现5268已经连上。
到此为止,sentinel支持的redis高可用集群就全部完成,IP自动切换方面下次探索。
以上就是sentinel支持的redis高可用集群配置详解的详细内容,更多关于sentinel redis高可用集群配置的资料请关注我们其它相关文章!
相关推荐
-
详解SpringBoot Redis自适应配置(Cluster Standalone Sentinel)
核心代码段 提供一个JedisConnectionFactory 根据配置来判断 单点 集群 还是哨兵 @Bean @ConditionalOnMissingBean public JedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory factory = null; String[] split = node.split(","); Set<HostAndPort> nodes =
-
玩转Redis搭建集群之Sentinel详解
前言 Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Redis集群是不会自动进行主从切换的,也就是说,如果主节点非常不争气的在凌晨3点挂了,那么运维同学就要马上起床,把从节点改成主节点,这样的操作是非常繁琐低效的.为此,Redis官方提供了一种解决方案:Redis Sentinel 简介 Redis Sentinel集群通常由3到5个节点组成,如果
-
Linux redis-Sentinel配置详解
下载 下载地址:https://redis.io/download 在/usr/local/src目录下执行下载. wget http://download.redis.io/releases/redis-3.2.8.tar.gz 安装 解压到/usr/local/src目录,放源码包. tar xzf redis-3.2.8.tar.gz 创建目录/usr/local/redis: make dir /usr/local/redis 进入源码目录: cd /usr/local/src/redi
-
Redis Sentinel服务配置流程(详解)
1.Redis Sentinel服务配置 1.1简介 Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常. 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过API 向管理员或者其他应用程序发送通知. 自动故障迁移(Automatic failover): 当一个主服务器不
-
Redis Sentinel实现高可用配置的详细步骤
一般情况下yum安装redis的启动目录在:/usr/sbin :配置目录在/etc/redis/在其目录下会有默认的redis.conf和redis-sentinel.conf redis高可用配置: 配置哨兵(redis-sentinel),我的所有配置文件都放在/etc/redis-cluster/目录下 1.创建redis-sentinel_26379.conf,主要内容如下: #基本配置 port 26379 daemonize yes logfile "/var/log/redis/
-
基于docker搭建redis-sentinel集群的方法示例
1.概述 Redis 集群可以在一组 redis 节点之间实现高可用性和 sharding.在集群中会有 1 个 master 和多个 slave 节点.当 master 节点失效时,应选举出一个 slave 节点作为新的 master.然而 Redis 本身(包括它的很多客户端)没有实现自动故障发现并进行主备切换的能力,需要外部的监控方案来实现自动故障恢复. Redis Sentinel 是官方推荐的高可用性解决方案.它是 Redis 集群的监控管理工具,可以提供节点监控.通知.自动故障恢复和
-
redis sentinel监控高可用集群实现的配置步骤
目录 一.端口转发. 如果在一个主机里面,安装了两个redis实例,可以在项目里面配置IP端口,用iptables转发. iptables -t nat -A PREROUTING -p tcp --dport 6379 -j REDIRECT --to-ports 7379 当发生切换的时候,触发了脚本,执行语句.端口可以马上转发带正确的redis上面.参数的含义: 脚本配置: 脚本实例: #!/bin/bash iptables -t nat -I PREROUTING -p tcp --d
-
sentinel支持的redis高可用集群配置详解
目录 一.首先配置redis的主从同步集群 二.sentinel高可用 一.首先配置redis的主从同步集群 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 5268 masterauth hodge01 一主多从的话,就启用多个从库.其中,从库都是一样的方案.本次有两个slave. 2.命令检查 /usr/local/redis/bin/redis-cli -p 5257 -a h
-
Redis高可用集群redis-cluster详解
哨兵模式主要解决了手动切换主从节点的问题 1 , 哨兵模式的缺陷 .主从节点切换的时候存在访问瞬断,等待时间较长, .只有一个master节点提供写,slave节点提供读,尽管写的效率是10万/秒,在电商大促时,写的压力全部集中在master节点上. .master节点的内存不能设置的太大,否则持久化文件过大,影响主从同步 2,redis-cluster集群模式 Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和
-
Redis三种集群模式详解
目录 三种集群模式 一.主从复制 1.reids主从模式 2.redis复制原理 3.redis主从复制原理 4.redis主从复制优缺点 二.Sentinel 哨兵模式 1.Sentinel系统 2.Sentinel故障转移 2.1.Sentinel 哨兵监控过程 2.2.Sentinel 哨兵故障转移 3.Sentinel 哨兵优缺点 三.cluster 模式 1.reids cluster 2.Redis Cluster 数据分片原理 3.Redis Cluster 复制原理 4.redi
-
redis sentinel监控高可用集群实现的配置步骤
目录 一.端口转发 二.修改HOST文件 三.用第三方代理haproxy 四.插曲 一.端口转发 如果在一个主机里面,安装了两个redis实例,可以在项目里面配置IP端口,用iptables转发. iptables -t nat -A PREROUTING -p tcp --dport 6379 -j REDIRECT --to-ports 7379 当发生切换的时候,触发了脚本,执行语句.端口可以马上转发带正确的redis上面.参数的含义: 脚本配置: 脚本实例: #!/bin/bash i
-
Redis5之后版本的高可用集群搭建的实现
一.安装redis 1.安装gcc yum install gcc 2.下载redis-5.0.8.tar.gz 3.把下载好的redis-5.0.8.tar.gz放在/gyu/software文件夹下,并解压 > tar xzf redis-5.0.8.tar.gz > cd redis-5.0.8 4.进入到解压好的redis-5.0.8目录下,进行编译与安装 > make & make install 5.启动并指定配置文件 > src/redis-server re
-
CentOS下RabbitMq高可用集群环境搭建教程
CentOS下RabbitMq高可用集群环境搭建教程分享给大家. 准备工作 1.准备两台或多台安装有rabbitmq-server服务的服务器 我这里准备了两台,分别如下: 192.168.40.130 rabbitmq01 192.168.40.131 rabbitmq02 2.确保防火墙是关闭的3,官网参考资料 http://www.rabbitmq.com/clustering.html hosts映射 修改每台服务上的hosts文件(路径:/etc/hosts),设置成如下: 192.1
-
基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程图解
一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似,但 HDFS NameNode 对数据存储及其一致性的要求比 YARN ResourceManger 高得多,所以它的实现也更加复杂,故下面先进行讲解: 1.1 高可用整体架构 HDFS 高可用架构如下: 图片引用自: https://www.edureka.co/blog/how-to-set-up-hadoop-cluster-with-hdfs-hi
-
基于mysql+mycat搭建稳定高可用集群负载均衡主备复制读写分离操作
数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19
-
nginx高可用集群的实现过程
这篇文章主要介绍了nginx高可用集群的实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.配置: (1)需要两台nginx服务器 (2)需要keepalived (3)需要虚拟ip 2.配置高可用的准备工作 (1)需要两台服务器192.168.180.113和192.168.180.112 (2)在两台服务器安装nginx (3)在两台服务器安装keepalived 3.在两台服务器安装keepalived (1)使用yum命令进行安
随机推荐
- MongoDB教程之索引介绍
- Java读取网页内容并下载图片的实例
- PHP+jquery实时显示网站在线人数的方法
- python实现简单点对点(p2p)聊天
- jsp 使用jstl实现翻页实例代码
- php基于socket实现SMTP发送邮件的方法
- 用正则获取指定路径文件的名称
- PHP的Yii框架中过滤器相关的使用总结
- JAVA实现caesar凯撒加密算法
- Lua入门学习笔记
- python简单实现计算过期时间的方法
- MySQL查询结果复制到新表的方法(更新、插入)
- JavaScript iframe数据共享接口实现方法
- 整理的比较不错的JavaScript的方法和技巧第1/3页
- C语言中的各种文件读写方法小结
- 使用jaxp进行dom解析_动力节点Java学院整理
- 如何快速使用mysqlreplicate搭建MySQL主从
- go语言中int和byte转换方式
- Java 程序员必备的 Intellij IDEA 插件
- jQuery实现为table表格动态添加或删除tr功能示例