redis 主从复制 哨兵 安装部署

学习开始前先了解一下

Redis是一个开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis最大的特点是数据存储在内存中,因此读写速度非常快,同时也支持数据持久化,可以将数据保存到磁盘中,以便在服务器重启后恢复数据。 Redis的应用场景非常广泛,包括缓存、消息队列、计数器、排行榜、分布式锁等。Redis还支持发布/订阅模式,可以用于实现实时消息推送等功能。

Redis的优点包括: 1. 高性能:Redis的数据存储在内存中,读写速度非常快。 2. 多种数据结构:Redis支持多种数据结构,可以满足不同的应用需求。 3. 数据持久化:Redis支持数据持久化,可以将数据保存到磁盘中,以便在服务器重启后恢复数据。 4. 分布式:Redis支持分布式部署,可以通过主从复制和集群模式实现高可用性和扩展性。 5. 开源:Redis是开源的,可以自由使用和修改。

Redis的缺点包括: 1. 内存限制:由于Redis的数据存储在内存中,因此需要考虑内存限制,否则可能会导致服务器宕机。 2. 数据一致性:由于Redis的主从复制和集群模式存在一定的延迟,因此需要考虑数据一致性的问题。 3. 单线程:Redis是单线程的,因此在高并发场景下可能存在性能瓶颈。 总的来说,Redis是一个非常优秀的内存数据结构存储系统,具有高性能、多种数据结构、数据持久化、分布式等优点,广泛应用于各种场景中。

 主从复制

Redis 主从复制是指将一个 Redis 服务器(主节点)的数据复制到其他 Redis 服务器(从节点)的过程。主节点负责写入数据,从节点负责读取数据,从而实现数据的高可用性和读写分离。

搭建环境:关闭防火墙 确认网段

这里有三台演示机

 1.相同操作:也就是不管多少台机都要做的操作

(1):安装redis         命令 yum -y install redis

(2):配置文件          命令 vim /etc/redis.conf             

     bing 0.0.0.0

     daemonize yes

 进入redis 

   redis-cli

 第一台查看         info replication

 第二台    

127.0.0.1:6379>slaveof 192.168.1.129 6379

127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.1.129
master_port:6379
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:71
master_link_down_since_seconds:25
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

 这条命令的意思是将当前的 Redis 服务器设置为另一个 Redis 服务器的从服务器。具体来说,它将当前 Redis 服务器的复制模式设置为从服务器,并将主服务器的 IP 地址和端口号设置为 192.168.1.129 和 6379。这样,当前 Redis 服务器就会开始复制主服务器上的数据,并在主服务器更新数据时同步更新自己的数据。

 第三台       和上一台一样

127.0.0.1:6379>slaveof 192.168.1.129 6379

127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.1.129
master_port:6379
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:71
master_link_down_since_seconds:25
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

 第一台在查看

 测试第一台也就是主库是否有创建功能

 其他两台查看     他们都是没有创建功能的

 

 主从复制好了 但要和哨兵搭配才是高可用

主从复制的实现过程如下: 1. 主节点将写入的数据同步到从节点; 2. 从节点接收到数据后,将数据写入自己的数据库中; 3. 从节点定期向主节点发送同步请求,获取主节点最新的数据; 4. 如果主节点宕机,从节点会自动选举一个新的主节点。

主从复制的优点包括: 1. 数据高可用性:当主节点宕机时,从节点可以自动接管主节点的工作,保证数据的可用性; 2. 读写分离:主节点负责写入数据,从节点负责读取数据,可以有效地分担主节点的负载; 3. 数据备份:从节点可以作为主节点的备份,当主节点数据丢失时,可以通过从节点进行数据恢复。 需要注意的是,主从复制并不能保证数据的实时同步,因为从节点需要定期向主节点发送同步请求,获取最新的数据。如果需要实时同步数据,可以考虑使用 Redis 集群。

2.启动哨兵

所有哨兵操作

vim /etc/redis-sentinel.conf

daemonize yes     加上这一行

sentinel monitor mymaster 192.168.1.139 6379 2      更改成主的IP

 主机和哨兵启动服务 systemctl start redis-sentinel

测试

关闭主机

127.0.0.1:6379> shutdown
not connected>

 两台从机宕机 等一会

 

在查看 第三台自动变成主了

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

第二台自动切换过去了

 拜拜

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/4555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【K8S系列】如何高效查看 k8s日志

序言 你只管努力,其他交给时间,时间会证明一切。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点 Kubernetes (k8s) 是一个容器编排平台&#x…

AndroidStudio xml布局文件输入没有提示

AndroidStudio xml布局文件输入没有提示,如下图: 原因是老的AndroidStudio与新的sdk版本不一致 方法1:修改compileSdkVersion低于33即可,不建议 方法2:升级AndroidStudio版本,建议 如下是我的AndroidStu…

Docker部署(1)——将jar包打成docker镜像并启动容器

在代码编写完成即将部署的时候,如果采用docker容器的方法,需要将jar包打成docker镜像并通过镜像将容器启动起来。具体的步骤如下。 一、首先下载java镜像 先使用docker search java命令进行搜索。 然而在拉取镜像的时候要注意不能直接去选择pull java ,…

改进的白鲸优化算法

改进的白鲸优化算法 一、算法灵感二、算法介绍2.1 初始化2.2 探索阶段2.3 开发阶段2.4 鲸落阶段 三、改进的白鲸优化算法3.1 集体行动策略3.2 小孔成像策略3.3 二次插值策略3.4 IBWO伪代码 一、算法灵感 白鲸优化算法(Beluga whale optimization, BWO)是2022年提出的一种元启发…

需求分析引言:架构漫谈(三)可用性专题

前文介绍了非功能性需求的各个指标和一些业界的标准。 非功能性需求里有一项可靠性,与之关联的一个指标叫可用性 本文对非功能性需求里的可用性、可靠性,进行一些详细的说明。 概念 我们在网上的云服务商处,经常看到产品介绍里会有这种字样…

系列五、NotePad++下载安装

一、下载 链接:https://pan.baidu.com/s/1U2f74vfBJIds7W2wJYnBxg?pwdyyds 提取码:yyds 二、安装 2.1、安装NotePad 解压NotePad-x64.zip至指定目录即可,例如 2.2、安装NppFTP 2.2.1、查看NotePad对应的位数(32位or64位&a…

最强优化指令大全 | 【Linux技术专题】「系统性能调优实战」终极关注应用系统性能调优及原理剖析(下册)

Linux命令相关查看指标 CPU 指标 vmstat指令 vmstat -n m该命令用于每隔n秒采集系统的性能统计信息,共采集m次。 [rootsvr01]$ vmstat 1 3procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache …

行业榜单揭晓:项目管理软件排行榜中的行业翘楚!

在当今复杂的商业环境中,项目管理软件已经成为企业管理不可或缺的工具之一。它们帮助企业组织和协调各个部门的工作,并确保项目能够按时、按预算、按质量要求完成。这就是为什么许多公司都在积极寻找最好的项目管理软件。但是,市场上有许多项…

一个人也可以是【大厂】,三年程序员的生活规划心路分享!

自从工作之后,我就经常思考以下这些问题: 还有多久退休?明天可以退休吗?地球什么时候爆炸?我什么时候可以暴富辞职?我真的需要这份工作吗? 要问是从什么时候开始有这些问题的,大概…

探索嵌入式开发领域:单片机、ARM、Android底层的紧密联系

作为一个曾编写ARM教程和参与Android产品开发的专家,我发现单片机、ARM、嵌入式开发和Android底层开发之间存在紧密的联系。对于那些希望在嵌入式开发领域发展的人来说,了解这些领域的知识至关重要。为了帮助你更好地学习这些内容,我总结了一…

CGAL使用心得 转

CGAL使用心得 转 作者:李浩 首先我说说我研究CGAL的背景,由于,早一阵子,有一个需求,需要求出在一堆二维线中(包括直线和弧线),找出所有的最小区域和最大外包。如下图所示。 在这两…

Redis简介

Redis是基于内存,也可以基于磁盘持久化nosql数据库,使用c语言开发。 数据存储结构:key-value 安装环境准备 Redis使用c语言开发,需要使用gcc编译程序进行编译。 1) 安装gcc a) 从磁盘镜像中进行安装:&…