redis复制集群搭建的实现

目录
  • 前言
  • 环境准备
  • 搭建过程
  • 问题总结

前言

redis 复制集群是开发中一种比较常用的集群模式,本篇演示如何在centos7上快速搭建一个redis复制集群;

环境准备

1、基于centos7系统的服务器(或者云服务器);

2、redis 安装包;

搭建过程

由于资源限制,本篇将在一台服务器上搭建,通过不同的端口号进行区分;

1、上传redis安装包到指定目录下(并解压)

2、在当前目录下,创建三个目录

在当前目录,分别创建 7001,7002,7003 三个文件目录

3、将redis解压包下的redis.conf配置文件分别拷贝到三个目录下

4、修改每个配置文件的默认端口号,数据存储目录

可以使用sed命令进行批量替换修改

sed -i -e 's/6379/7001/g' -e 's/dir .\//dir \/tmp\/7001\//g' 7001/redis.conf
sed -i -e 's/6379/7002/g' -e 's/dir .\//dir \/tmp\/7002\//g' 7002/redis.conf
sed -i -e 's/6379/7003/g' -e 's/dir .\//dir \/tmp\/7003\//g' 7003/redis.conf

修改完毕后,我们不妨任意查看一个配置文件,

5、修改每个实例的声明IP

虚拟机本身存在多个IP,为了避免将来混乱,需要在redis.conf文件中指定每一个实例的绑定ip信息,格式如下:

replica-announce-ip 当前IP

仍然可以使用批量修改的方式进行编辑

sed -i '1a replica-announce-ip 当前IP' 7001/redis.conf
sed -i '1a replica-announce-ip 当前IP' 7002/redis.conf
sed -i '1a replica-announce-ip 当前IP' 7003/redis.conf

修改完毕,可以通过下面的命令确认下

以上配置文件的修改基本上就完成了

6、集群启动

分别启动3个实例,启动过程如下:

7001实例:

7002实例:

7003实例:

如果要一键停止,可以运行下面命令:

printf '%s\n' 7001 7002 7003 | xargs -I{} -t redis-cli -p {} shutdown

7、配置3个实例之间的主从关系

上面启动了3个实例,但是他们之间还并没有形成主从关系,要配置主从可以使用replicaof 或者slaveof(5.0以前)命令。

有临时和永久两种模式:

  • 修改配置文件(永久生效),在redis.conf中添加一行配置: slaveof <masterip> <masterport>;
  • 使用redis-cli客户端连接到redis服务,执行slaveof命令(重启后失效): slaveof <masterip> <masterport>;

这里为了演示看出效果,我们采用第二种方式进行说明,通过redis-cli命令连接7002,执行下面的命令:

redis-cli -p 7002

然后执行如下命令

SLAVEOF 127.0.0.1 7001

执行完成上面命令的瞬间可以看到7001和7002两个实例控制台的输出信息,看得出7002完成了对7001的连接以及数据同步

使用同样的方式连接7003客户端,并执行上面的操作

连接7001客户端,执行info命令查看下集群信息,看到下面的信息,说明集群构建成功

8、集群测试

在7001上面连接客户端并设置一个key,然后在7002上面检查

但是如果在7002或7003上面set一个key的时候就会报错,即从节点没有写权限;

问题总结

很多同学在第一步上传并解压安装包之后,也按照配置文件正确配置了,但是启动报错,这就犯了常识性错误,因为此时redis并没有完成编译安装,因此需要进入到 redis的解压包的src,目录下,执行 : make install 命令;

到此这篇关于redis复制集群搭建的实现的文章就介绍到这了,更多相关redis复制集群搭建内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Docker搭建Redis主从复制的集群

    在主从复制模式的集群里,主节点一般是一个,从节点一般是两个或多个,写入主节点的数据会被复制到从节点上,这样一旦主节点出现故障,应用系统能切换到从节点去读写数据,这样能提升系统的可用性.而且如果再采用主从复制模式里默认的读写分离的机制,更能提升系统的缓存读写性能.所以对性能和实时性不高的系统而言,主从复制模式足以满足一般的性能和安全性方面的需求. 1 概述主从复制模式 在实际应用中,如果有相应的设置,在向一台Redis服务器里写数据后,这个数据可以复制到另外一台(或多台)Redis服务器,这里数据

  • redis复制集群搭建的实现

    目录 前言 环境准备 搭建过程 问题总结 前言 redis 复制集群是开发中一种比较常用的集群模式,本篇演示如何在centos7上快速搭建一个redis复制集群: 环境准备 1.基于centos7系统的服务器(或者云服务器): 2.redis 安装包: 搭建过程 由于资源限制,本篇将在一台服务器上搭建,通过不同的端口号进行区分: 1.上传redis安装包到指定目录下(并解压) 2.在当前目录下,创建三个目录 在当前目录,分别创建 7001,7002,7003 三个文件目录 3.将redis解压包

  • Redis Cluster 集群搭建你会吗

    三台机器 201.202.203,每台机器装两个 redis 实例,构建 redis cluster 集群. 1. 安装 添加 redis-cluster 目录,将 redis 压缩包拷贝到该目录下,解压压缩包. 解压完后,将文件夹 redis-5.0.3 重命名为 redis1. [root@test201 redis-cluster]# mv redis-5.0.3 redis1 需要在 redis1 目录下使用 make 命令进行编译. [root@test201 redis-cluste

  • 分布式Redis Cluster集群搭建与Redis基本用法

    目录 Redis集群搭建 Redis是啥 集群(Cluster) RedisCluster说明 RedisCluster节点 RedisCluster集群模式 不能保证一致性 创建和使用Redis集群 部署三个主节点 非docker docker安装 创建集群 Redis入门 Redis中的数据类型 字符串(string) 哈希(Hash) 列表(Lists) 集合(Set) 有序集合(sortedset) Redis 集群搭建 Redis 是啥 Redis(全称 REmote DIctiona

  • redis 哨兵集群搭建的实现

    目录 前言 为什么需要哨兵集群 搭建前准备 搭建步骤 集群测试 前言 在上一篇,我们了解了redis 复制集群的完整的搭建流程,本篇来分享一下如何搭建 redis 哨兵集群. 为什么需要哨兵集群 redis哨兵集群要解决的问题是什么呢?搞清楚这个问题之后,就知道为什么需要哨兵集群了.我们知道,redis复制集群解决的是,高并发情况下,单节点的读性能瓶颈以及单节点问题: 但是复制集群的很明显的问题就是,当主节点挂掉后,集群将无法提供写业务,如果要恢复集群,则需要人工介入,这个必定会丢失数据不说,而

  • redis 分片集群搭建与使用教程

    目录 前言 搭建集群架构图 前置准备 搭建步骤 创建集群 Redis散列插槽说明 集群伸缩(添加节点) 故障转移 使用redistemplate访问分片集群 前言 redis可以说在实际项目开发中使用的非常频繁,在redis常用集群中,我们聊到了redis常用的几种集群方案,不同的集群对应着不同的场景,并且详细说明了各种集群的优劣,本篇将以redis 分片集群为切入点,从redis 分片集群的搭建开始,详细说说redis 分片集群相关的技术点: 单点故障: 单机写(高并发写)瓶颈: 单机存储数据

  • Redis的Cluster集群搭建的实现步骤

    目录 一.引言 二.Redis的Cluster模式介绍 1.Redis群集101 2.Redis群集TCP端口 3.Redis集群和Docker 4.Redis集群数据分片 5.Redis集群之主从模型 6.Redis集群一致性保证 7.Redis群集配置参数 三.创建和使用Redis群集 四.使用创建群集脚本创建Redis群集 五.测试故障转移 六.手动故障转移 七.总结 一.引言 本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的所涉及到的概念做深入的探讨.本文只是针

  • Redis集群搭建全记录

    Redis集群是一个提供在多个Redis节点间共享数据的程序集. Redis集群中不支持处理多个keys的命令. Redis集群通过分区来提供一定程度的可用性.在某个节点宕机或者不可用的时候可以继续处理命令. Redis集群数据分片 在Redis集群中,使用数据分片(sharding)而不是一致性hash(consistency hashing)来实现,一个Redis集群包含16384个哈希槽(hash slot),数据库中的每个键都存在这些哈希槽中的某一个,通过CRC16校验后对16384取模

  • redis集群搭建教程及遇到的问题处理

    这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出了6台机器了,然后在以这6个实例组建redis集群就可以了. 前提:redis已经安装,目录为/usr/local/redis-4.0.1 如不会,可以参考一下文章  windows下安装redis    Linux下安装redis redis集群是用的ruby脚本,所以要想执行该脚本,需要ruby环境..对应redis的源码src目

  • Redis 集群搭建和简单使用教程

    前言 Redis集群搭建的目的其实也就是集群搭建的目的,所有的集群主要都是为了解决一个问题,横向扩展. 在集群的概念出现之前,我们使用的硬件资源都是纵向扩展的,但是纵向扩展很快就会达到一个极限,单台机器的Cpu的处理速度,内存大小,硬盘大小没办法一直满足需求,而且机器纵向扩展的成本是相当高的.集群的出现就是能够让多台机器像一台机器一样工作,实现了资源的横向扩展. Redis是内存型数据库,当我们要存储的数据达到一定程度时,单台机器的内存满足不了我们的需求,搭建集群则是一种很好的解决方案. 介绍安

  • 详解Redis集群搭建的三种方式

    一.单节点实例 单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个 Redis 还是很轻松的,做为一个 key/value 数据库也是可以胜任的 二.主从模式(master/slaver) redis 主从模式配置 主从模式: redis 的主从模式,使用异步复制,slave 节点异步从 master 节点复制数据,master 节点提供读写服务,slave 节点只提供读服务(这个是默认配置,可以通过修改配置文件 slave-read-only 控制).master

随机推荐