RedisCluster集群

RedisCluster集群

概述

RedisCluster是从Redis 3.0版本之后提供的官方Redis集群解决方案,其可以避免哨兵机制复杂的Master监控与选举操作,也可以方便地实现数据的分片处理,发挥集群主机的性能优势,提供更加高效的Redis解决方案,其中考虑到去中心化的架构模式。每个节点都与其他节点有关联,只需获得一个节点的信息其他节点的信息也就可以获取到。

Redis集群会根据已有的主机分配主从关系将所有保存的数据平均分配到每一太Master主机中。若某台Master主机无法因出现问题无法提供服务就会有其他Master主机参与
选举产生一台的master主机继续提供服务。
在这里插入图片描述

具体实现步骤

集群架构采用9台Redis数据库服务器,其中三台主机每台上有三个Redis进程。主机信息如下:

编号主机名称IP地址描述
1node1192.168.1.6Redis主服务x3 (6381,6382,6383)
1node2192.168.1.7Redis主服务x3 (6381,6382,6383)
1node3192.168.1.8Redis主服务x3 (6381,6382,6383)

node1、node2、node3 主机

apt-get install ruby ruby-dev rubygems	#Ruby开发环境配置相关开发包的配置
mkdir -p /usr/data/redis/{redis-6381,redis-6382,redis-6383}/{logs,run,dbcache,config} #新建三套数据目录

#复制三套配置文件
cp /usr/local/redis/conf/redis.conf /usr/local/redis/conf/redis-6381.conf
cp /usr/local/redis/conf/redis.conf /usr/local/redis/conf/redis-6382.conf
cp /usr/local/redis/conf/redis.conf /usr/local/redis/conf/redis-6383.conf

vim /usr/local/redis/conf/redis-6381.conf #打开配置文件

#配置信息 
protect-mode no	#关闭受保护模式
port 6381	#监听端口
pidfile /usr/data/redis/redis-6381/run/redis_6381.pid	#pid保护目录
dir /usr/data/redis/redis-6381/dbcache
logfile "/usr/data/redis/redis-6381/logs/redis_6381.log"
#requirepass test	#取消密码配置
cluster-enabled yes	#配置开启cluster集群
cluster-config-file /usr/data/redis/redis-6381/config/nodes-6381.conf
cluster-node-timeout 15000	#定义连接的超时时间

vim /usr/local/redis/conf/redis-6382.conf #打开配置文件 

#配置信息 
protect-mode no	#关闭受保护模式
port 6382	#监听端口
pidfile /usr/data/redis/redis-6382/run/redis_6382.pid	#pid保护目录
dir /usr/data/redis/redis-6382/dbcache
logfile "/usr/data/redis/redis-6382/logs/redis_6382.log"
#requirepass test	#取消密码配置
cluster-enabled yes	#配置开启cluster集群
cluster-config-file /usr/data/redis/redis-6382/config/nodes-6382.conf
cluster-node-timeout 15000	#定义连接的超时时间


vim /usr/local/redis/conf/redis-6383.conf #打开配置文件 
#配置信息 
protect-mode no	#关闭受保护模式
port 6383	#监听端口
pidfile /usr/data/redis/redis-6383/run/redis_6383.pid	#pid保护目录
dir /usr/data/redis/redis-6383/dbcache
logfile "/usr/data/redis/redis-6383/logs/redis_6383.log"
#requirepass test	#取消密码配置
cluster-enabled yes	#配置开启cluster集群
cluster-config-file /usr/data/redis/redis-6383/config/nodes-6383.conf
cluster-node-timeout 15000	#定义连接的超时时间

#分别启动实例6381、6382、6383
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis-6381.conf 
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis-6382.conf 
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis-6383.conf


ps aux | grep redis	#查看当前主机Redis的进程

在这里插入图片描述

gem install redis #使用Ruby管理控制Redis 安装Redis的相关依赖包
cp redis-6.2.1/src/redis-trib.rb /usr/local/redis/bin/	#复制集群配置程序

#Redis主机加入到集群配置中
#/usr/local/redis/bin/redis-trib.rb create -replicas 2 192.168.1.6:6381 192.168.1.6:6382 192.168.1.6:6383 192.168.1.7:6381 192.168.1.7:6382 192.168.1.7:6383 192.168.1.8:6381 192.168.1.8:6382 192.168.1.8:6383 #已经被移除了
/usr/local/redis/bin/redis-cli --cluster create  192.168.1.6:6381 192.168.1.6:6382 192.168.1.6:6383 192.168.1.7:6381 192.168.1.7:6382 192.168.1.7:6383 192.168.1.8:6381 192.168.1.8:6382 192.168.1.8:6383 --cluster-replicas 2 -a test #

/usr/local/redis/bin/redis-cli -h 192.168.1.6 -p 6381
CONFIG SET protected-mode yes #打开受保护模式
ONFIG SET requirepass test	 #设置认证密码
auth test #设置密码需要登陆
CONFIG SET masterauth test	#整个集群需要一个统一的密码
CONFIG REWRITE #重写写入配置文件
SHUTDOWN #关闭当前Redis进程

在这里插入图片描述

#在所有的主机上重新启动redis进程
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis-6379.conf 
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis-6380.conf 
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis-6381.conf

vim /var/lib/gems/2.7.0/gems/redis-3.0.7/lib/redis/client.rb 	#由于通过配置命令实现了密码处理,所以此时需要手动修改Ruby配置文件,追加Redis的连接密码,才可以正常使用RedisCluster集群

在这里插入图片描述

#/usr/local/redis/bin/redis-trib.rb check 192.168.1.8:6382 #当前版本6.2.1不可用改用下面
redis-cli --cluster check 192.168.1.8:6382 -a test	#检测集群状态

/usr/local/redis/bin/redis-cli -h 192.168.1.8 -p 6383 -a test -c #登陆集群中的任意Master,使用-c进行集群查询
set mldn helloworld	#设置数据 客户端node3上设置数据

在主机node1上查看数据
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追Star仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值