redis集群搭建笔记

确保你的redis单机版已经搭建成功, 可以运行
现在尝试搭建集群

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

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


● 在 /usr/local 下创建redis-cluster文件夹

redis集群搭建笔记

● 把usr/local目录下redis/bin中的文件复制一份到redis-cluster中并命名为redis01
(这个redis是单机版的redis的目录)

redis集群搭建笔记

● 修改redis01中的redis.conf, 找到port **** 修改为 port 7001,找到cluster-enabled no
改为yes, 我的是修改过后的

redis集群搭建笔记redis集群搭建笔记


● 修改完成后, 把redis01在同一目录下拷贝五份, 分别修改redis02-redis06里面的redis.conf,
把port改为7002-7006

redis集群搭建笔记


● 然后启动redis01-redis06, 一个一个启动太麻烦, 可以用批处理
在redis-cluster文件夹下创建一个.sh的文件用来批量启动redis

redis集群搭建笔记


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

redis集群搭建笔记


● 创建好保存之后查看会发现这个文件是黑色的,还不能执行,先给权限

redis集群搭建笔记


● 然后运行这个可执行文件, 运行成功后查看进程, 发现已经启动了

redis集群搭建笔记


● 切换到你的redis压缩文件解压路径的src目录下, 每个人的都不一样


找到src目录的redis-trib.rb文件, 拷贝到redis-cluster下

redis集群搭建笔记


redis-trib.rb文件是一个脚本语言,redis要使用ruby脚本搭建集群,就需要一个解释器,类似于java虚拟机,要想运行,就需要安装好环境

使用ruby脚本搭建集群。需要ruby的运行环境。
安装ruby
yum install ruby
yum install rubygems


● 在redis压缩文件解压的路径下导入redis-3.0.0.gem

redis集群搭建笔记


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

redis集群搭建笔记


● 切换到 /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

redis集群搭建笔记


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

redis集群搭建笔记


● 看到这一步, 集群就已经搭建成功了
7001-7003是主节点, 7004-7006分别是它们的从节点

redis集群搭建笔记


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

redis集群搭建笔记