文章目录
一、准备工作
1、查看有哪些镜像
docker search redis
2、拉取镜像,默认最新版本
docker pull redis
二、开始安装
1、安装Redis集群文件夹路径
创建存放集群节点的目录
/usr/local/src/redis
2、安装Redis集群文件夹路径
编写shell脚本,配置文件加启动
vi redis-cluster.sh
# 循环生成端口号
for port in $(seq 6380 6382); \
do \
mkdir -p /usr/local/src/redis/node-${port}/conf
touch /usr/local/src/redis/node-${port}/conf/redis.conf
cat << EOF >/usr/local/src/redis/node-${port}/conf/redis.conf
port ${port}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
# 对应暴露的公用ip
cluster-announce-ip 101.42.238.110
# 暴露的端口
cluster-announce-port ${port}
# 集群总线的端口 port+10000
cluster-announce-bus-port 1${port}
appendonly yes
EOF
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} \
-v /usr/local/src/redis/node-${port}/data:/data \
-v /usr/local/src/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf; \
done
3、shell脚本赋予执行权限
chmod +x redis-cluster.sh
4、登录其中一台redis容器
docker exec -it redis-6380 /bin/bash
5、创建集群
下面只创建了三个节点,所以默认都是主节点,没有设置主从
- cluster-replicas 0: 表示集群的主节点没有从节点
- cluster-replicas 1:表示希望为集群中的每个主节点创建一个从节点(一主一从)。
- cluster-replicas 2:表示希望为集群中的每个主节点创建两个从节点(一主二从)
redis-cli --cluster create 101.42.238.186:6380 101.42.238.186:6381 101.42.238.186:6382 --cluster-replicas 0
6、连接Redis集群节点,并设置key value
一个节点设置key value,其他节点中也可见,说明部署已成功。
docker exec -it redis-6380 redis-cli -h 101.42.238.110 -p 6380 -c
set key haha