前言
redis集群有三种模式:
- 主从复制
- 哨兵模式
- cluster集群
环境提要:
- redis使用最新版本
- 下文中关于IP(192.168.56.101)为本地虚拟机地址,即宿主机地址。
- redis镜像网络使用host网络,如有不懂,请自行百度。
本文主要是创建redis-cluster模式集群
一、环境预备redis镜像
准备linux环境,安装好docker环境。
1. 查询redis镜像
docker search redis
2. 下载镜像
docker pull redis
docker pull redis:3.0
也可以不主动下载,在docker run创建容器时,会被动下载最新版镜像。
二、创建集群
1.准备redis集群模板
1.1 创建自己预备好的文件目录
本文所有创建的文件夹基准路径均为:
/opt/tools/redis-cluster
以下提到的基准路径均为以上配置路径,如没有专门提出,则默认在该路径下执行。
1.2 创建redis集群模板文件
在基准路径下,创建redis-cluster.tmpl 文件 文件内容:
port ${PORT}
masterauth 123456
requirepass 123456
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.56.101
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
记得保存文件!!!
2.初始化redis目录
创建redis配置文件和数据目录:
for port in `seq 6381 6386`; do \
mkdir -p ./${port}/conf \
&& PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf \
&& mkdir -p ./${port}/data; \
done
创建成功后,进行查看
输入:tree
3.创建容器
执行以下命令,创建容器
for port in `seq 6381 6386`; do
docker run -d --net=host -v /opt/tools/redis-cluster/${port}/conf/redis.conf:/etc/redis/redis.conf -v /root/redis-cluster/${port}/data:/data --restart always --name=redis-${port} redis redis-server /etc/redis/redis.conf;
done
创建后,执行docker ps 查看当前正在运行的容器:
4.集群配置
随机选择一个容器,进入:
docker exec -it redis-6381 bash
执行以下命令,配置集群:
redis-cli -a 123456 --cluster create 192.168.56.101:6381 192.168.56.101:6382 192.168.56.101:6383 192.168.56.101:6384 192.168.56.101:6385 192.168.56.101:6386 --cluster-replicas 1
连接redis服务端:
redis-cli -c -p 6381
进入redis后,进行验证:
auth 123456
查看集群配置:
cluster nodes
看到此图片时,则可以看到redis-cluster集群中,每个节点的主从角色。
总结
redis是有多种集群模式的,还是要根据项目的具体需求进行选择。 本文只是练手。docker网络可以做多种选择,比如桥接或新建docker网络均可。
本对多篇文章进行了参考。 文章链接: https://www.cnblogs.com/xuchen0117/p/11678931.html https://www.cnblogs.com/mrhelloworld/p/docker12.html
|