rediscluster 动态扩容出现的问题(附带搭建步骤,相关pdf资料及安装包)

业务场景

  • 现场集群出现性能,内存不够的问题,现场运维又不会,然后开发顶上,做redis集群扩容时,出现了一些问题分享下.

出现的问题

  • 新加节点后,登录老集群里没有新节点信息,而登录新节点能看到新增节点信息及集群信息

此原因是防火墙有端口没开 例如(6379,16379),一个外部通讯一个是集群间的通讯,很多都只开了6379,便会出现集群见通讯受阻的情况;

  • 槽迁移出现的问题

1.我们线上用的3.2.12,执行redis-trib reshard ip:port 之前,需要把集群所有节点密码先去掉,然后在执行,否则会报没有权限,高版本好像没这问题

config set masterauth ''
config set requirepass ''
config rewrite

2.其次,"client.rb"也需要将密码设置为nil,此文件只复制了一部分.

[root@localhost ~]# vim /usr/share/gems/gems/redis-3.2.1/lib/redis/client.rb

require "redis/errors"
require "socket"
require "cgi"

class Redis
  class Client

    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :connect_timeout => 5.0,
      :password => nil,
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false
    }

3.然后按照网上教程,一步步走,扩容成功:

rediscluster 动态扩容出现的问题(附带搭建步骤,相关pdf资料及安装包)_第1张图片
image.png

4.数据迁移正常,网上案例很多,具体的我就不赘述了,文章最后放上集群搭建文档,及相关书籍等.

#相关命令
#添加节点
cluster meet 192.168.62.35 6380
#取消对槽的导入
CLUSTER SETSLOT 0 STABLE
#取消槽移动
CLUSTER DELSLOTS 0
#删除节点
redis-trib del-node 192.166.62.39:6379 '095ec2898ba582f27a0f40ee1d659c49361d6fb6'
#添加主节点
redis-trib add-node 192.168.62.35:6379 192.166.62.39:6379
#添加从节点
redis-trib add-node --slave --master-id 0c2dea89f7c2b46e367baf74abf5093d1603b885 192.166.62.35:6381 192.166.62.39:6379
#均衡槽数
redis-trib rebalance  192.166.62.39:6379
#修复集群
redis-trib fix 192.166.62.39:6379

文件链接(包括rpm,集群搭建,PDF书籍等)

链接: https://pan.baidu.com/s/1PedVDbb2NjODoHWuGbiQmw 提取码: 5ii4

你可能感兴趣的:(rediscluster 动态扩容出现的问题(附带搭建步骤,相关pdf资料及安装包))