Redis集群的搭建

在Redis3.0以前,提供了Sentinel工具来监控Master的状态,如果Master异常,则会做主从切换,将slave作为master,将master作为slave。其配置也是稍微的复杂,并且各方面表现一般。现在redis3.0已经支持集群的容错功能,并且非常简单。

集群的搭建:至少三个master

第一步:创建一个文件夹redis-cluster,然后在其下面分别创建6个文件夹:

  1. mkdir -p /usr/local/redis-cluster
  2. mkdir 7001、mkdir 7002、mkdir 7003、mkdir 7004、mkdir 7005、mkdir 7006

第二步:把之前的redis.conf配置文件分别copy到700*下,进行修改各个文件内容,也就是对700*下的每一一个copy的redis.conf文件进行修改!如下

  1. daemonize yes
  2. port 700*(分别对每一个机器的端口号进行设置)
  3. bind 192.168.154.101(必须绑定当前机器的ip,不然会无限悲剧下去)
  4. dir /usr/local/redis-cluster/700*/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
  5. cluster-enabled yes(开启集群模式)
  6. cluster-config-file nodes700*.conf(这里700*最好和port对应上,集群内部的配置文件)   这个配置文件就是让其余的所有节点都知道自己的存在
  7. cluster-node-timeout 5000
  8. appendonly yes
  9. appendfsync always
  10. pidfile /var/run/redis_700*.pid

第三步:由于redis集群需要ruby命令,所以我们需要安装ruby

  1. yum install ruby
  2. yum install rubygems
  3. gem install redis(安装redis和ruby的接口)
  4. 在第三步的时候,我遇到了一个bug,Error installing redis: redis requires Ruby version >= 2.3.0.具体的解决办法请参考https://blog.csdn.net/weixin_41836393/article/details/94848178

第四步:分别启动6个redis实例,然后检查是否启动成功

  1. redis-server /user/local/redis-cluster/700*/redis.conf
  2. ps -ef | grep redis  查看是否启动成功

第五步:首先到redis5.0的安装目录下,然后执行redis-trib.rb命令

  • cd /usr/local/redis5.0/src
  • ./redis-trib.rb create --replicas 1 192.168.154.101:7001 192.168.154.101:7002 192.168.154.101:7003 192.168.154.101:7004 192.168.154.101:7005 192.168.154.101:7006(其中1是代表主节点与从节点的比值,前面3个代表主节点,后面3个代表从节点,第一个和第四个代表一个主从)   -----这是redis3.0的命令

  • redis-cli --cluster create 192.168.154.101:7001 192.168.154.101:7002 192.168.154.101:7003 192.168.154.101:7004 192.168.154.101:7005 192.168.154.101:7006 --cluster-replicas 1    ---这是redis5.0的命令(前面3个是主节点,后面3个是从节点,但是不一定是第一个和第四个组成一个主从节点了,虽然从下面看到的是7001对应7005,但是实际还是7001对应7004,而且在从节点中也可以写入,只是最终写入的结果会写入到3个主节点上)

第六步:到此为止我们的集群已经搭建成功了!进行验证:

  1. 连接任意一个客户端即可:redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口号)如:redis-cli -c -h 192.168.154.101 -p 700*
  2. 进行验证:cluster info(查看集群信息)、cluster nodes(查看节点列表)
  3. 进行数据操作验证
  4. 关闭集群则需要逐个进行关闭,使用命令:redis-cli -c -h 192.168.154.101 -p 700* shutdown

第八步:友情提示:当出现集群无法启动时,删除临时的数据文件——nodes-700*.conf,再次重新启动每一个redis服务,然后重新构造集群环境。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值