6xawjqf5shfw@hyx-test3 | >>> Assign a different config epoch to each node
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | >>> Sending CLUSTER MEET messages to join the cluster
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | Waiting for the cluster to join
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | .
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | >>> Performing Cluster Check (using node 10.0.5.17:6379)
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | M: 6ce90be6daabc0c700471d03deb3c6bd88c9f0e1 10.0.5.17:6379
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | slots:[0-5460] (5461 slots) master
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | 1 additional replica(s)
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | S: ca3c50899d6deb04e296c542cd485791fb3e8922 10.0.5.12:6379
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | slots: (0 slots) slave
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | replicates 935c177308232de05b5483776478020de51bc578
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | M: ea9b45ec64c08c17283239f8b8e5405b2d182428 10.0.5.19:6379
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | slots:[5461-10922] (5462 slots) master
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | 1 additional replica(s)
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | M: 935c177308232de05b5483776478020de51bc578 10.0.5.3:6379
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | slots:[10923-16383] (5461 slots) master
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | 1 additional replica(s)
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | S: 1c99e42bcfb28a9fe72952d4e4cc5cd88aded0f9 10.0.5.6:6379
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | slots: (0 slots) slave
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | replicates 6ce90be6daabc0c700471d03deb3c6bd88c9f0e1
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | S: 73cf232f232e83126f058cc01458df11146d8537 10.0.5.9:6379
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | slots: (0 slots) slave
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | replicates ea9b45ec64c08c17283239f8b8e5405b2d182428
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | [OK] All nodes agree about slots configuration.
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | >>> Check for open slots...
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | >>> Check slots coverage...
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | [OK] All 16384 slots covered.
redis-swarm_redis-start.1.6xawjqf5shfw@hyx-test3 | redis-cluster end
撤销部署
docker stack rm redis_cluster
如果需要重新部署集群,redis集群为了保证数据统一,需要清除数据卷。
# 每个节点都需要执行
docker volume prune
测试
进入其中一个节点容器,依次查看集群信息
docker exec -it xxx bash
redis-cli -c -h redis-node1 info
测试读写数据
测试其中一个主节点宕机,这里删除了主节点1,节点1对应的从节点是节点4,节点1宕机后节点4成为主节点
docker service rm redis-swarm_redis-node1
# 查看
root@redis-node2:/data# redis-cli -c -h redis-node1
Could not connect to Redis at redis-node1:6379: Name or service not known
not connected>
root@redis-node2:/data# redis-cli -c -h redis-node4
redis-node4:6379> info
问题
redis-cli --cluster create redis-node1:6379 ...省略
在容器中使用redis-cli创建集群时,无法使用容器名创建,只能使用容器的ip,因为redis-cli对别