redis集群搭建


确保你的redis单机版已经搭建成功

redis下载页面

现在尝试搭建集群

redis集群中至少应该有三个节点. 要保证集群的高可用, 需要每个节点有一个备份机.
redis集群至少需要6台服务器.
条件不够,我们搭建伪分布式. 可以使用一台虚拟机运行6个redis实例。需要修改redis的端口号7001-7006

建议提前保存快照, 如果操作失误, 可以恢复重新操作!!


开始搭建


1) 创建搭建redis集群的目录

切换到 /usr/local 目录下(cd usr/local) 创建redis-cluster文件夹
在这里插入图片描述


2) 拷贝单机版redis的bin

把usr/local/redis目录下bin这个文件复制一份到redis-cluster中并命名为redis01 (这个redis是单机版的redis的目录)
在这里插入图片描述


3) 修改配置文件redis.conf

修改redis01中的redis.conf的端口号, 找到port **** 修改为 port 7001
找到cluster-enabled no 打开注释, 并改为yes, 我的是修改过后的
在这里插入图片描述在这里插入图片描述



修改完成后, 把redis01在同一目录下拷贝五份, 分别修改redis02-redis06里面的redis.conf的端口号
把port改为7002-7006
在这里插入图片描述



4) 批处理启动redis

然后启动redis01-redis06, 一个一个启动太麻烦, 可以用批处理
在redis-cluster文件夹下创建一个.sh的文件用来批量启动redis
在这里插入图片描述

redis_start-all.sh内容如下,注意cd与…之间的空格

在这里插入图片描述



创建好保存之后查看会发现是黑色字体, 还不能执行, 给了权限变成了绿色的
在这里插入图片描述


然后运行这个可执行文件, 运行成功后查看进程, 可以看到它们已经启动了
在这里插入图片描述



5) 拷贝redis-trib.rb文件

找到你redis的tar包
redis-4.0.6是解压缩的文件, 切换到redis-4.0.6/src目录下
在这里插入图片描述


找到src目录的redis-trib.rb文件, 拷贝到redis-cluster下
切换过去看到已经拷贝好了
在这里插入图片描述




6) 配置ruby脚本运行环境

redis-trib.rb文件是一个脚本语言, redis使用ruby脚本搭建集群, 就需要一 个解释器, 类似于java虚拟机, 要想运行redis-trib.rb, 就需要安装好环境 使用ruby脚本搭建集群, 需要ruby的运行环境
安装ruby
yum install ruby
yum install rubygems
在这里插入图片描述



把redis-3.0.0.gem上传到虚拟机, 放在redis压缩包的路径位置
点击跳转redis-3.0.0.gem下载页面
在这里插入图片描述


输入gem install redis-3.0.0.gem 运行成功后出现如下信息

在这里插入图片描述




7) 运行redis-trib.rb

切换到 /usr/local/redis-cluster目录下, 执行可执行文件redis-trib.rb 需要写上参数,
虚拟机的ip加上刚刚设置的端口号 ./redis-trib.rb create --replicas 1 192.168.25.3:7001 192.168.25.3:7002 192.168.25.3:7003 192.168.25.3:7004 192.168.25.3:7005 192.168.25.3:7006
在这里插入图片描述


成功后会出现如下信息, 如果现在你的防火墙是关闭状态, 输入yes 回车. 否则需要关闭防火墙,
另外打开一个终端用管理员身份输入systemctl stop firewalld.service (临时关闭 重启失效)
在这里插入图片描述



看到这一步, 集群就已经搭建成功了
7001-7003是主节点, 7004-7006分别是它们的从节点
在这里插入图片描述




测试

用redis01客户端连接集群
赋值 set a 123, 会发现 重定向到[15495]这个槽所在的服务器7003, 把这个key放进去
当前节点是7003 赋值 set b 2, 这时候又会计算b所在的槽[3300], 所在服务器是7001, 把key放进去
赋值 set c a 又会跳转到7002上
会发现, 这个概率基本上是, 每添加一个key, 会跳转到不同的节点上, 实现负载均衡
数据均匀的分布到不同的节点上, 这样, 我们就可以实现每个节点都有一定数量的数据.
如果主节点挂了, 还有从节点7004-7006顶上来, 这就实现了高可用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值