IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis的主从自动切换 -> 正文阅读

[大数据]redis的主从自动切换

设置redis主从主要是在不同的主机上编辑配置文件

我们准备三台主机

分别是server1、server2、server3

redis的主从自动切换是基于sentinel(哨兵)

1、Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:

1)监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
2)提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
3)? 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。

虽然 Redis Sentinel 释出为一个单独的可执行文件 redis-sentinel , 但实际上它只是一个运行在特殊模式下的 Redis 服务器, 你可以在启动一个普通 Redis 服务器时通过给定 –sentinel 选项来启动 Redis Sentinel 。

2、获取 Sentinel

目前 Sentinel 系统是 Redis 的 unstable 分支的一部分, 你必须到 Redis 项目的 Github 页面 克隆一份 unstable 分值, 然后通过编译来获得 Sentinel 系统。

Sentinel 程序可以在编译后的 src 文档中发现, 它是一个命名为 redis-sentinel 的程序。

你也可以通过下一节介绍的方法, 让 redis-server 程序运行在 Sentinel 模式之下。

另外, 一个新版本的 Sentinel 已经包含在了 Redis 2.8.0 版本的释出文件中。

以上均可在redis中文官网查看

www.redis.cn

3、配置主从

其中server1是master

##在server2中
vim /etc/redis/6379.conf
76 bind 127.0.0.1 -::1 172.25.50.2
95 protected-mode no

server2、server3是slave端

重复在server1中的安装和部署,不再赘述,可以查看博客redis的安装及部署

博客链接如下

CSDNicon-default.png?t=L892https://mp.csdn.net/mp_blog/creation/editor/120429818

完成配置后重启redis

vim /etc/redis/6379.conf
76 bind 127.0.0.1 -::1 172.25.50.2
95 protected-mode no
478 # replicaof <masterip> <masterport>
479 replicaof 172.25.50.1 6379
/etc/init.d/redis_6379 restart
vim /etc/redis/6379.conf
76 bind 127.0.0.1 -::1 172.25.50.3
95 protected-mode no
478 # replicaof <masterip> <masterport>
479 replicaof 172.25.50.1 6379
/etc/init.d/redis_6379 restart

可以在server1中查看

redis-cli 
127.0.0.1:6379> info

# Replication
role:master
connected_slaves:2
slave0:ip=172.25.50.2,port=6379,state=online,offset=56028,lag=0
slave1:ip=172.25.50.3,port=6379,state=online,offset=56028,lag=1


显示如上内容即配置成功

在server2、server3中可以用同样的方法查看

##在server2中
redis-cli 
127.0.0.1:6379> info
# Replication
role:slave
master_host:172.25.50.1
在server3中
redis-cli 
127.0.0.1:6379> info
# Replication
role:slave
master_host:172.25.50.1

4、配置哨兵模式(高可用)

在server1中

cp redis-6.2.4/sentinel.conf /etc/redis/
cd /etc/redis/
vim sentinel.conf 
 83 # The valid charset is A-z 0-9 and the three characters ".-_".
 84 sentinel monitor mymaster 127.0.0.1 6379 2                    ##server1为master,当server挂了之后,需要slave端对master端是否挂掉投票,有两票认为master挂了则说明真的server1真的挂了
125 sentinel down-after-milliseconds mymaster 10000        ##连接超时时间为10秒,默认是30秒

scp sentinel.conf server2:/etc/redis/
scp sentinel.conf server3:/etc/redis/

redis-sentinel /etc/redis/sentinel.conf        ##开启redis-sentinel

?此时在server2、server3中也可以查看

redis-sentinel /etc/redis/sentinel.conf

显示如图所示

?

?

此时server1、server2、server3都已开启Sentinel

现在杀掉server1

注意:不能直接已经打开Sentinel的server1中杀,要重新打开一个server1再杀,否则关闭Sentinel后,不能完成自动切换

重新打开一个server2,在其中查看

redis-cli
info

可以看见server2变成了新的master

此时重新启动server1中的redis,可以看见server1变成了slave

说明高可用配置成功

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:37:42  更:2021-09-24 10:39:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:55:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码