搭建6个redis组成的redis集群,3主3从
一、运行命令创建文件夹和配置文件
for port in `seq 6601 6606`; do
mkdir -p ./${port}/conf
touch ./${port}/conf/redis.conf
mkdir -p ./${port}/data
echo "port ${port}" >>./${port}/conf/redis.conf
echo "protected-mode no" >>./${port}/conf/redis.conf
echo "cluster-enabled yes" >>./${port}/conf/redis.conf
echo "cluster-config-file nodes.conf" >>./${port}/conf/redis.conf
echo "cluster-node-timeout 5000" >>./${port}/conf/redis.conf
echo "cluster-announce-ip 10.227.65.53" >>./${port}/conf/redis.conf
echo "cluster-announce-port ${port}" >>./${port}/conf/redis.conf
echo "cluster-announce-bus-port 1${port}" >>./${port}/conf/redis.conf
echo "appendonly yes" >>./${port}/conf/redis.conf
done
其中cluster-announce-ip
改成自己的机器地址
二、 启动6个redis的docker实例
for port in `seq 6601 6606`; do \
docker run -d --net host --privileged=true \
-v $PWD/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v $PWD/${port}/data:/data \
--restart always --name redis-${port} \
redis:6.2 redis-server /usr/local/etc/redis/redis.conf; \
done
三、进入其中一个容器把六个实例建成一个集群
进入容器
docker exec -it redis-6601 /bin/bash
建立集群
redis-cli --cluster create 10.227.65.53:6601 10.227.65.53:6602 10.227.65.53:6603 10.227.65.53:6604 10.227.65.53:6605 10.227.65.53:6606 --cluster-replicas 1
其中10.227.65.53
换成自己的ip地址
最终显示如下代表成功
image.png