redis 多机集群搭建入坑

    主要的集群搭建不多介绍直接上连接,推荐这个: http://blog.java1234.com/blog/articles/326.html,

另推荐一个在gem install redis 时出错 解决文章:https://www.cnblogs.com/carryping/p/7447823.html

那么接下载我们进入主题:(入坑)

    首先在redis 各个节点搭建好后进行创建 redis 集群执行

    redis-trib.rb create --replicas 1 192.68.1.100:123 192.168.1.200:456

  出现  [ERR] Sorry, can't connect to node 错误,不用慌张恭喜你进入第一个坑

收先检查redis 节点配置  

192.168.1.100 服务器中的 redis_123.conf  

192.168.1.200服务器中的 redis_456.conf 

bind 属性是否还是127.0.0.1  如果是请改过来

再次执行,如果还出现  [ERR] Sorry, can't connect to node 那么恭喜你进入了第二个坑

这时请将配置文件中的 requirepass 给注释掉即可,当然这时我们创建集群时肯定需要密码的不然整个redis 将会暴露出去

有两种解决方式:

第一 :requirepass 不设置密码 在集群创建好后用命令方式创建

  redis-cli -c -p 7000
config set masterauth passwd123 
config set requirepass passwd123 
config rewrite 

第二: requirepass 设置密码,在进行一下操作

vim redis-trib.rb 编辑源码找到一下代码行

@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60)

修改为:

@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "你的密码"))

修改完成后 返回 在进行多机集群创建,此时创建成功了那说明 兄弟运气好啊!

如果还出现报错信息类似 [ERR] node xxx 7001. xxx .....  

不用着急,请停掉所有节点找到所有节点 redis_xxx.conf 配置文件下的

cluster-config-file 属性指定目录下的 nodes-xxx.conf 删除再重新启动各个节点,此时再次创建集群。

此时创建成功了说明  兄弟运气好啊!

如果输入 yes 加载配置  一直出现 Waiting for the cluster to join ........................................

呵呵,小问题只不过我问题找了接近1小时,原因是

>>> redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口

>>> 集群总线端口为redis客户端连接的端口 + 10000

也就是说 如果你在 iptables 开放的端口为 7001 那么也的开放 17001端口

这是再次创建redis 集群,这是大多数都没有问题了。如果还出现类似一下错误

/usr/local/rvm/gems/ruby-2.4.2/gems/redis-4.0.1/lib/redis/client.rb:119:in `call': ERR Slot 1151 is already busy (Redis::CommandError)
    from /usr/local/rvm/gems/ruby-2.4.2/gems/redis-4.0.1/lib/redis.rb:2764:in `block in method_missing'
    from /usr/local/rvm/gems/ruby-2.4.2/gems/redis-4.0.1/lib/redis.rb:45:in `block in synchronize'
    from /usr/local/rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
    from /usr/local/rvm/gems/ruby-2.4.2/gems/redis-4.0.1/lib/redis.rb:45:in `synchronize'
    from /usr/local/rvm/gems/ruby-2.4.2/gems/redis-4.0.1/lib/redis.rb:2763:in `method_missing'
    from /usr/local/bin/redis-trib.rb:212:in `flush_node_config'
    from /usr/local/bin/redis-trib.rb:776:in `block in flush_nodes_config'
    from /usr/local/bin/redis-trib.rb:775:in `each'
    from /usr/local/bin/redis-trib.rb:775:in `flush_nodes_config'
    from /usr/local/bin/redis-trib.rb:1296:in `create_cluster_cmd'
    from /usr/local/bin/redis-trib.rb:1700:in `<main>'

那么恭喜你又入口这个坑比较浅很容易跳出来了

只需要进入你的每个redis中 redis-cli -h 192.168.1.100 -c -p 7001 -a 你的密码

依次执行一下命令

$flushall
$cluster reset soft
$exit

清楚库中的数据等等

再次创建

redis-trib.rb create --replicas 1 192.68.1.100:123 192.168.1.200:456

至此 跳坑完毕

谢谢你阅读此文章,第一次写博客,有些不清楚的地方还请见谅

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值