[root@zsx ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d4a68641edd redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6376->6379/tcp, :::6376->6379/tcp, 0.0.0.0:16376->16379/tcp, :::16376->16379/tcp redis-6
0b3e1633f734 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6375->6379/tcp, :::6375->6379/tcp, 0.0.0.0:16375->16379/tcp, :::16375->16379/tcp redis-5
d60bcbb40d90 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6374->6379/tcp, :::6374->6379/tcp, 0.0.0.0:16374->16379/tcp, :::16374->16379/tcp redis-4
de1c5fd59afb redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6373->6379/tcp, :::6373->6379/tcp, 0.0.0.0:16373->16379/tcp, :::16373->16379/tcp redis-3
09dff3c5cc31 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6372->6379/tcp, :::6372->6379/tcp, 0.0.0.0:16372->16379/tcp, :::16372->16379/tcp redis-2
b322b00448f1 redis:5.0.9-alpine3.11 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:6371->6379/tcp, :::6371->6379/tcp, 0.0.0.0:16371->16379/tcp, :::16371->16379/tcp redis-1
5、创建集群
# 进入集群,然后进行下面的命令创建集群[root@zsx ~]# docker exec -it redis-1 /bin/sh
/data # redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 172.38.0.15:6379 to 172.38.0.11:6379
Adding replica 172.38.0.16:6379 to 172.38.0.12:6379
Adding replica 172.38.0.14:6379 to 172.38.0.13:6379
M: ec83381611410064ccf26f995957428e0deba3a2 172.38.0.11:6379slots:[0-5460](5461 slots) master
M: a8da41a4b81dbb4fe532040eb701b7d20b125497 172.38.0.12:6379slots:[5461-10922](5462 slots) master
M: ea543d3f484f1c959c20ba86646f8f0ea17231db 172.38.0.13:6379slots:[10923-16383](5461 slots) master
S: 10b1fb8ce73a6c2f28d0b3cfd994c52e429d2a44 172.38.0.14:6379replicates ea543d3f484f1c959c20ba86646f8f0ea17231db
S: c9eadef97cb0086a307aca411ac9c49fd0f0b162 172.38.0.15:6379replicates ec83381611410064ccf26f995957428e0deba3a2
S: afaffd4d7f90d991da65c266fd8c0ae98d036152 172.38.0.16:6379replicates a8da41a4b81dbb4fe532040eb701b7d20b125497
Can I set the above configuration? (type 'yes' to accept): yes>>> Nodes configuration updated
>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..>>> Performing Cluster Check (using node172.38.0.11:6379)
M: ec83381611410064ccf26f995957428e0deba3a2 172.38.0.11:6379slots:[0-5460](5461 slots) master1 additional replica(s)
S: 10b1fb8ce73a6c2f28d0b3cfd994c52e429d2a44 172.38.0.14:6379slots: (0 slots) slavereplicates ea543d3f484f1c959c20ba86646f8f0ea17231db
M: ea543d3f484f1c959c20ba86646f8f0ea17231db 172.38.0.13:6379slots:[10923-16383](5461 slots) master1 additional replica(s)
S: c9eadef97cb0086a307aca411ac9c49fd0f0b162 172.38.0.15:6379slots: (0 slots) slavereplicates ec83381611410064ccf26f995957428e0deba3a2
S: afaffd4d7f90d991da65c266fd8c0ae98d036152 172.38.0.16:6379slots: (0 slots) slavereplicates a8da41a4b81dbb4fe532040eb701b7d20b125497
M: a8da41a4b81dbb4fe532040eb701b7d20b125497 172.38.0.12:6379slots:[5461-10922](5462 slots) master1 additional replica(s)[OK] All nodes agree about slots configuration.
>>> Check foropen slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
# 连接集群
/data # redis-cli -c127.0.0.1:6379> cluster info
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_ping_sent:123
cluster_stats_messages_pong_sent:121
cluster_stats_messages_sent:244
cluster_stats_messages_ping_received:116
cluster_stats_messages_pong_received:123
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:244
127.0.0.1:6379> cluster nodes
10b1fb8ce73a6c2f28d0b3cfd994c52e429d2a44 172.38.0.14:6379@16379 slave ea543d3f484f1c959c20ba86646f8f0ea17231db 017092802770004 connected
ea543d3f484f1c959c20ba86646f8f0ea17231db 172.38.0.13:6379@16379 master - 017092802770813 connected 10923-16383
c9eadef97cb0086a307aca411ac9c49fd0f0b162 172.38.0.15:6379@16379 slave ec83381611410064ccf26f995957428e0deba3a2 017092802775895 connected
afaffd4d7f90d991da65c266fd8c0ae98d036152 172.38.0.16:6379@16379 slave a8da41a4b81dbb4fe532040eb701b7d20b125497 017092802786016 connected
a8da41a4b81dbb4fe532040eb701b7d20b125497 172.38.0.12:6379@16379 master - 017092802770002 connected 5461-10922
ec83381611410064ccf26f995957428e0deba3a2 172.38.0.11:6379@16379 myself,master - 017092802770001 connected 0-5460
127.0.0.1:6379>set a b
-> Redirected to slot [15495] located at 172.38.0.13:6379
OK
172.38.0.13:6379> get a
"b"172.38.0.13:6379>exit
/data # exit