个master有几个从
#redis cluaster最低要求有3个master
#master的定义 host1:port host2:port host3:port如果--replicas 1 那么:
#host1:port == master host2:port 是:host1:port 是host1:port 从
#如果--replicas 2 那么:
#host1:port == master host2:port & host3:port 是host1:port 的从
?
M: 这个是cluaster 自动生成的ID 集群在通信的时候是使用这个ID来区分的
?
4、连接cluster,(连接任意的Cluster集群中的服务器即可)
redis-cli -c -h 192.168.0.201 -p 7001 的需要加-c的参数 可以连接集群的任意节点!
192.168.0.201:7001> cluster nodes 查看cluster节点
f702fd03c1e3643db7e385915842533ba5aab98d 192.168.0.201:7003 master - 0 1444813870405 3 connected 10923-16383
699f318027f87f3c49d48e44116820e673bd306a 192.168.0.201:7001 myself,master - 0 0 1 connected 0-5460
d0994ce7ef68c0834030334afcd60013773f2e77 192.168.0.201:7004 slave 699f318027f87f3c49d48e44116820e673bd306a 0 1444813870105 4 connected
a77b16c4f140c0f5c17c907ce7ee5e42ee2a7b02 192.168.0.201:7006 slave f702fd03c1e3643db7e385915842533ba5aab98d 0 1444813868605 6 connected
96892fd3f51292e922383ddb6e8018e2f772deed 192.168.0.201:7002 master - 0 1444813869405 2 connected 5461-10922
d880581504caff4a002242b2b259d5242b8569fc 192.168.0.201:7005 slave 96892fd3f51292e922383ddb6e8018e2f772deed 0 1444813869105 5 connected
192.168.0.201:7001> cluster info 查看cluster信息
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:1809
cluster_stats_messages_received:1809
?
5、集群扩容
?
redis-trib add-node 192.168.0.201:7007 192.168.0.201:7001?
?
命令解释:
redis-trib add-node 要加的节点和端口 ?现有任意节点和端口
?
加完之后查看结果:
192.168.0.201:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:7
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:2503
cluster_stats_messages_received:2503
192.168.0.201:7001> cluster nodes
f702fd03c1e3643db7e385915842533ba5aab98d 192.168.0.201:7003 master - 0 1444814061587 3 connected 10923-16383
699f318027f87f3c49d48e44116820e673bd306a 192.168.0.201:7001 myself,master - 0 0 1 connected 0-5460
d0994ce7ef68c0834030334afcd60013773f2e77 192.168.0.201:7004 slave 699f318027f87f3c49d48e44116820e673bd306a 0 1444814062087 4 connected
a77b16c4f140c0f5c17c907ce7ee5e42ee2a7b02 192.168.0.201:7006 slave f702fd03c1e3643db7e385915842533ba5aab98d 0 1444814061087 6 connected
a1301a9e1fd24099cd8dc49c47f2263e3124e4d6 192.168.0.201:7007 master - 0 1444814063089 0 connected
96892fd3f51292e922383ddb6e8018e2f772deed 192.168.0.201:7002 master - 0 1444814062589 2 connected 5461-10922
d880581504caff4a002242b2b259d5242b8569fc 192.168.0.201:7005 slave 96892fd3f51292e922383ddb6e8018e2f772deed 0 1444814061587 5 connected
192.168.0.201:7001>
?
?
6、新加上来没有数据-及没有槽位,我们可以用命令让他重新分片(分片)
?
redis-trib reshard 192.168.0.201:7007
?
7、在添加一个服务器做从
?
在添加一个7008 让他做7008的从
[root@server.tianshuai.com]$ redis-trib add-node 192.168.0.201:7008 192.168.0.201:7001
?
加进来之后默认就是mater但是他没有任何的槽位
192.168.0.201:7001> cluster nodes
f702fd03c1e3643db7e38