Redis集群至少要三个master节点,并且为每个master创建一个slave节点,总共6个Redis节点.三主三从
1.创建Redis节点安装目录
mkdir /opt/docker-redis-cluster
在文件夹下创建docker-compose.yml文件写入以下值(6份)改变端口和数据卷的映射路径为对应的端口号
version: '3'
services:
redis-6381:
container_name: redis-6381
image: redis
command: redis-server /etc/usr/local/redis.conf
network_mode: "host"
volumes:
- /opt/docker-redis-cluster/redis-6381/redis.conf:/etc/usr/local/redis.conf
- /opt/docker-redis-cluster/redis-6381/data:/data
复制6份
并为每个Redis节点创建一个文件夹 Redis6381-6386
mkdir redis6381
mkdir redis6382
......
2.复制redis文件到为每个节点创建的文件夹下
cp redis.conf /opt/docker-redis-cluster/redis-6381/
.......
cp redis.conf /opt/docker-redis-cluster/redis-6386/
# 关闭保护模式 用于公网访问
protected-mode no
port 6381
# 开启集群模式
cluster-enabled yes
#不改也可
#cluster-config-file nodes-6381.conf
#cluster-node-timeout 5000
# 日志文件
pidfile /var/run/redis_6381.pid
# 此处绑定ip 可以是阿里内网ip 和 本地ip 可以直接注释掉该项
#bind 127.0.0.1
#用于连接主节点密码
masterauth guoweixin
#设置redis密码 各个节点请保持密码一致
requirepass guoweixin
按照以上配置更改6份文件,这里使用图形化工具WinSCP进行复制更改
注意ip对应,这里有一个redis的配置文件可以直接更改prot和日志文件地址就可文件地址 提取码:enfj
3.运行测试
cd /opt/docker-redis-cluster
docker-compose up -d
启动成功,使用docker ps命令查看是否在运行
4.创建集群
创建集群的命令
--cluster create
--cluster-replicas 1
输入以下命令创建成功
docker exec -it redis-6381 redis-cli --cluster create -a guoweixin 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386 --cluster-replicas 1
这里是询问是否已当前的主从关系创建集群,输入yes继续,输入no则为重新设置
运行成功
测试