学习笔记:https://cloud.tencent.com/developer/article/1696491

节点规划 3主3从

容器名称 容器ip地址 映射端口号 服务运行模式
redis-master1 172.50.0.2 6391 -> 6391 16391 -> 16391 master
redis-master2 172.50.0.3 6392 -> 6392 16392 -> 16392 master
redis-master3 172.50.0.4 6393 -> 6393 16393 -> 16393 master
redis-slave1 172.30.0.2 6394 -> 6394 16394 -> 16394 slave
redis-slave2 172.30.0.3 6395 -> 6395 16395 -> 16395 slave
redis-slave3 172.30.0.4 6396 -> 6396 16396 -> 16396 slave

下载需要用到的配置文件和docker-compose.yml

up主的百度云下载链接 :https://pan.baidu.com/share/init?surl=i2gawmHFK7eKVsb7dxxn0g
提取码:dgz3

个人下载到了阿里云盘

2.解压到/usr/local/redis


解压到指定目录(自己习惯目录即可)

  1. mkdir -p /usr/local/redis
  2. #解压下载的文件到 /usr/local/redis
  3. tar -zxvf docker-redis-cluster-master.tar.gz
  4. mv docker-redis-cluster-master /usr/local/redis

docker-compose.yml根据需要自行修改,我们默认是上面创建目录

image.png

启动redis集群

  1. cd /usr/local/redis/docker-redis-cluster-master
  2. docker-compose up -d

image.png

image.png

初始化集群(这一步开始命令须在 redis5.0 及以上版本运行)

查找宿主机ipimage.png

查找redis-master1的容器id
image.png

进入容器
docker exec -it cd75xxxx /bin/bash

创建 3 主 3 从的 redis 集群:

  1. redis-cli --cluster create 192.168.0.224:6391 192.168.0.224:6392 192.168.0.224:6393 192.168.0.224:6394 192.168.0.224:6395 192.168.0.224:6396 --cluster-replicas 1

输入 yes,确认要初始化: image.png

5.查看redis集群初始化结果

  1. root@cd7533c8d4b1:/data# redis-cli -c -h 192.168.0.224 -p 6391
  2. 192.168.0.224:6391> cluster nodes

image.png

6.集群模式测试


由于 test 根据哈希槽计算,是分布在 6392 服务上。所以这里会提示转到 6392。


192.168.0.224:6391> set test testvalue


image.png