通过分片部署高可用+负载均衡的redis集群
1、建立集群自己的网络:
docker newwork create redis --subnet 172.38.0.0/16
2、通过脚本6个reids集群配置:
for port in $(seq 1 6):
do
mikir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >>/mydata/redisnode-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-anabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
3、脚本启动所有redis:
docker run -p 673${port}:6379 -p 1637${port}:16739 --name redis-${port}
-v /mydata/redis/node-${port}/data:/data
-v /mydata/redis/node-${port}/conf/redis/conf:/etc/redis/redis.conf
-d --net reids --ip 178.38.0.1${port} redis:5.0.9-apline3.11 redis-server /etc/redis/redis.conf
也可以手动一个一个的启动例如:
docker run -p 6731:6379 -p 16371:16739 --name redis-1
-v /mydata/redis/node-1/data:/data
-v /mydata/redis/node-1/conf/redis/conf:/etc/redis/redis.conf
-d --net reids --ip 178.38.0.11 redis:5.0.9-apline3.11 redis-server /etc/redis/redis.conf
4、随便进入一个redis:
docker exec -it redsi-1 /bin/bash
5、在进入的redis中创建集群:
redis-cli --cluster create 178.38.0.11:6379 178.38.0.12:6379 178.38.0.13:6379 178.38.0.14:6379 178.38.0.15:6379 178.38.0.16:6379 --cluster-replicas 1
创建完成