Redis集群环境搭建

什么是Redis集群

Redis 集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis 实现, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset)。

Redis 集群中不存在中心(central)节点或者代理(proxy)节点, 集群的其中一个主要设计目标是达到线性可扩展性(linear scalability)。

Redis 集群为了保证一致性(consistency)而牺牲了一部分容错性: 系统会在保证对网络断线(net split)和节点失效(node failure)具有有限(limited)抵抗力的前提下, 尽可能地保持数据的一致性。
集群的容错功能是通过使用主节点(master)和从节点(slave)两种角色(role)的节点(node)来实现的:

  • 主节点和从节点使用完全相同的服务器实现, 它们的功能(functionally)也完全一样, 但从节点通常仅用于替换失效的主节点。

  • 不过, 如果不需要保证“先写入,后读取”操作的一致性(read-after-write consistency), 那么可以使用从节点来执行只读查询。
    参考链接

分片、哨兵有那些缺点

1.分片缺点: 分片的主要的功能是实现内存的扩容的. 但是没有高可用的效果.使用哨兵实现高可用。
2.哨兵缺点: 数据没有扩容,哨兵本身没有高可用机制

Redis集群优点

实现了内存的扩容也实现了高可用

Redis集群搭建

说明:这里使用三个主节点各自都有一个从节点
1.在Redis安装目录中创建一个cluster文件夹



2.在cluster中创建6个文件夹



3.把redis.conf配置文件(在安装目录)复制一份到7000文件夹并修改其中以下内容
IP绑定注释掉

关闭保护模式和修改相应的端口号



后台启动

修改pid存放位置



修改持久化文件路径


修改内存优化策略



开启集群配置


  1. 复制修改后的文件到7001-7005中



    4.批量修改,分别将7001-7005文件中的所有为7000改为对应的端口号的名称
    分别打开7001-7005的配置文件批量把7000改成相应的端口号


  2. 由于需要启动多台服务编写麻烦,所有通过脚本编辑启动
在cluster目录创建脚本
vim start.sh
#内容为:
redis-server 7000/redis.conf &
redis-server 7001/redis.conf &
redis-server 7002/redis.conf&
redis-server 7003/redis.conf&
redis-server 7004/redis.conf&
redis-server 7005/redis.conf&
ps -ef | grep redis & 

#创建停止服务脚本文件
vim stop.sh
#内容:
#!/bin/sh
redis-cli -p 7000 shutdown &
redis-cli -p 7001 shutdown &
redis-cli -p 7002 shutdown &
redis-cli -p 7003 shutdown &
redis-cli -p 7004 shutdown &
redis-cli -p 7005 shutdown &
redis-cli -p 7006 shutdown &
redis-cli -p 7007 shutdown &
redis-cli -p 7008 shutdown &
ps -ef| grep redis &
  1. 启动redis节点
    sh start.sh
    7.创建redis集群
#5.0版本及以上执行
redis-cli --cluster create --cluster-replicas 1 192.168.126.129:7000 192.168.126.129:7001 192.168.126.129:7002 192.168.126.129:7003 192.168.126.129:7004 192.168.126.129:7005

中途会让你选择是否同意设置输入yes就好了


到此集群环境搭建完毕
8.查看节点信息


查看集群信息cluster info

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容