redis主机集群节点采用3主3从的方式(采用:分片+高可用+集群)
当主机挂掉后备机能主动顶上成为主机
1 创建redis自己的docker网络
docker network create redis --subnet 172.168.0.0/16 (16代表网段有255*255)
2 创建6个redis的配置
for prot in $(seq 1 6); do
mkdir -p /mydata/redis/node-${prot}/conf
touch /mydata/redis/node-${prot}/conf/redis.conf
cat <<EOF>/mydata/redis/node-${prot}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.168.0.1${prot}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
3 启动docker redis
docker run -p 960${prop}:6379 -p 1637${prop}:16379 --name redis-${prop} -v /mydata/redis/node-${prop}/data:/data -v /mydata/redis/node-${prop}/conf/redis.conf:/etc/redis/redis.conf --restart always -d --net redis --ip 172.168.0.1${prop} redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
4 创建集群
docke exec -it redis-1 /bin/sh
redis-cli --cluster create 127.168.0.11:6379 127.168.0.12:6379 127.168.0.13:6379 127.168.0.14:6379 127.168.0.15:6379 127.168.0.16:6379 --cluster-replicas 1
docker容器内无法联网问题解决,本人centos8
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload
systemctl restart docker