Redis Cluster集群配置简述(2)

Usage: redis-trib <command><options><arguments ...>   reshard        host:port                   --to <arg>                   --yes                   --slots <arg>                   --from <arg>   check          host:port   call            host:port command arg arg .. arg   set-timeout    host:port milliseconds   add-node        new_host:new_port existing_host:existing_port                   --master-id <arg>                   --slave   del-node        host:port node_id   fix            host:port   import          host:port                   --from <arg>   help            (show this help)   create          host1:port1 ... hostN:portN                   --replicas <arg> For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

那么我们这里用的是create 新建集群

/usr/local/redis/7000/src/redis-trib.rb  create  --replicas  1  192.168.1.1:7000  192.168.1.2:7000 192.168.1.3:7000  192.168.1.1:7001  192.168.1.2:7001  192.168.1.3:7001

这里讲一下,使用iptables或者其他防火墙的话一定要把端口开放出来,否则会创建失败。

命令一定要以IP:端口形式来输入,千万别用域名。

参数 --replicas 1   是自动为每台master配置1个slave   上面有6个节点 会按规则生成3个主节点(master)3个从节点(slave)

注意:前面3个IP redis会默认他为主节点。

输入完命令后会提示

Can I set the above configuration? (type 'yes' to accept): 

这里输入yes 就可以了

然后就会弹出如下信息:

>>> Performing Cluster Check (using node 127.0.0.1:7000) M: 5ca195e70a7d6d3b2756f06bfd5bb62f133ad236 127.0.0.1:7000 slots:10923-16383 (5461 slots) master 1 additional replica(s) M: a79ab5c1558f64d37efb6ad3e775bcd32bee70fc 192.168.20.186:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) S: ebbc18dca8215930cf6430c39671b7660ca1de0f 192.168.20.187:7001 slots: (0 slots) slave replicates 5ca195e70a7d6d3b2756f06bfd5bb62f133ad236 S: c195573125f0d0a87b0f1076dd7de392aa90a5f3 192.168.20.186:7001 slots: (0 slots) slave replicates 0e590350177d69f337dc88188545dfe3c4c75742 M: 0e590350177d69f337dc88188545dfe3c4c75742 192.168.20.184:7000 slots:5461-10922 (5462 slots) master 1 additional replica(s) S: b29210a818e15b1097422933163e92722c624ad8 192.168.20.184:7001 slots: (0 slots) slave replicates a79ab5c1558f64d37efb6ad3e775bcd32bee70fc [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.

这样子就可以了。至于测试的话可以从其他文章里面找到

#redis 常见集群报错处理

1.配置完所有主节点后,报" ERR Invalid node address specified"

由于redis-trib.rb 对域名或主机名支持不好,故在创建集群的时候要使用ip:port的方式

redis-trib.rb create ip1:port1 ip2:port2 ip3:port3

2.创建集群时报某个err slot 0 is already busy (redis::commanderror)

这是由于之间创建集群没有成功,需要将nodes.conf和dir里面的文件全部删除(注意不要删除了redis.conf)

3.创建集群时一直处于"Waiting for the cluster to join...................................."的状态

这个问题原因不知,但解决方法是在redis.conf文件中把bind 127.0.0.1本地环回口改为物理接口.

4.安装ruby redis时长时间没响应

这是由于大家知道的网络原因,解决办法是改ruby源(请自行baidu)或手动安装

下面关于Redis的文章您也可能喜欢,不妨参考下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/133497dee3d6bba28a40b88bc029b7c6.html