docker安装官方redis集群并集群连接测试 的正确姿势 自用 实践笔记

时间:2022-07-24
本文章向大家介绍docker安装官方redis集群并集群连接测试 的正确姿势 自用 实践笔记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

docker安装官方redis集群并集群连接测试 的正确姿势 自用 实践笔记

系统环境版本:

CentOS Linux release 7.6.1810 (Core)

Docker version 19.03.9, build 9d988398e7

docker-compose version 1.25.5, build 8a1c60f6

redis:5.0

节点规划 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

0.环境准备

没装docker的同学,请移步【Centos 7 安装最新 Docker 的正确姿势 并实现阿里云加速 网易加速 实践笔记】的文章 没装docker-compose的同学,请移步【Centos 7 在线安装 离线安装 最新 Docker-compose 的正确姿势 实践笔记】的文章

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

有积分的慷慨一下用到的文件下载

没积分的用百度云盘链接下载 链接: 用到的文件下载 提取码:dgz3

2.解压到/usr/local/redis

mkdir  -p /usr/local/redis
#解压下载的文件到 /usr/local/redis
tar -zxvf docker-redis-cluster-master.tar.gz
mv docker-redis-cluster-master /usr/local/redis
[root@ecs-x-large-2-linux-20200309103150 redis]# ll
总用量 168
drwxr-xr-x 3 root root   4096 5月  25 10:09 docker-redis-cluster-master
-rw-r--r-- 1 root root 164678 5月  25 11:40 docker-redis-cluster-master.tar.gz
[root@ecs-x-large-2-linux-20200309103150 redis]# pwd
/usr/local/redis

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

4.启动redis集群

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

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

查找宿主机ip

查找redis-master1的容器id

进入容器 docker-enter cd7533c8d4b1

创建 3 主 3 从的 redis 集群:

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,确认要初始化:

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

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

6.集群模式测试

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

192.168.0.224:6391> set test testvalue