节点访问:6391-6393
集群连接:16391-16393
1.创建根目录
mkdir /server
cd /server
2.创建容器目录。然后给每个节点创建对应的目录和配置文件
服务器1 192.168.79.131
init.sh
for port in $(seq 6391 6393); \
do \
mkdir -p /server/redis-cluster/redis-node-${port}/{conf,data}
touch /server/redis-cluster/redis-node-${port}/conf/redis.conf
cat << EOF >/server/redis-cluster/redis-node-${port}/conf/redis.conf
#端口
port ${port}
bind 0.0.0.0
#启用集群模式
cluster-enabled yes
cluster-config-file nodes.conf
#超时时间
cluster-node-timeout 5000
# 集群连接地址及端口
cluster-announce-ip 192.168.79.131
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
appendonly yes
#集群加密
masterauth 123456
requirepass 123456
EOF
done
服务器2 192.168.79.132
init.sh
for port in $(seq 6391 6393); \
do \
mkdir -p /server/redis-cluster/redis-node-${port}/{conf,data}
touch /server/redis-cluster/redis-node-${port}/conf/redis.conf
cat << EOF >/server/redis-cluster/redis-node-${port}/conf/redis.conf
#端口
port ${port}
bind 0.0.0.0
#启用集群模式
cluster-enabled yes
cluster-config-file nodes.conf
#超时时间
cluster-node-timeout 5000
# 集群连接地址及端口
cluster-announce-ip 192.168.79.132
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
protected-mode no
appendonly yes
#集群加密
masterauth 123456
requirepass 123456
EOF
done
docker-compose.yml
运行redis
容器version: '3'
services:
redis1:
container_name: redis1
image: redis:7.0.5
network_mode: host
restart: always
volumes:
- /server/redis-cluster/redis-node-6391/conf/redis.conf:/etc/redis/redis.conf
- /server/redis-cluster/redis-node-6391/data:/data
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
ports:
- '6391:6379' #服务端口
- '16391:16379' #集群端口
command: ["redis-server", "/etc/redis/redis.conf"]
privileged: true #环境变量
redis2:
container_name: redis2
image: redis:7.0.5
network_mode: host
restart: always
volumes:
- /server/redis-cluster/redis-node-6392/conf/redis.conf:/etc/redis/redis.conf
- /server/redis-cluster/redis-node-6392/data:/data
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
ports:
- '6392:6379' #服务端口
- '16392:16379' #集群端口
command: ["redis-server", "/etc/redis/redis.conf"]
privileged: true #环境变量
redis3:
container_name: redis3
image: redis:7.0.5
network_mode: host
restart: always
volumes:
- /server/redis-cluster/redis-node-6393/conf/redis.conf:/etc/redis/redis.conf
- /server/redis-cluster/redis-node-6393/data:/data
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
ports:
- '6393:6379' #服务端口
- '16393:16379' #集群端口
command: ["redis-server", "/etc/redis/redis.conf"]
privileged: true #环境变量
分别在两台服务器上执行
docker-compose up -d
redis
集群随便进一台服务器进行配置
进入某一个容器
docker exec -it redis1 /bin/bash
组建集群
redis-cli -p 6391 -a 123456 --cluster create 192.168.79.131:6391 192.168.79.131:6392 192.168.79.131:6393 192.168.79.132:6391 192.168.79.132:6392 192.168.79.132:6393 --cluster-replicas 1
输入yes即可
主从关系
redis-cli -p 6391 -a 123456
#查看节点
cluster nodes
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有