
docker-compose部署redis三主三从集群
本次是两台主机,搭建 3主 3从的 redis 集群,使用 docker-compose
部署。
服务器规划
服务器ip | 实例 | 端口 |
10.100.232.171 | redis_6379,redis_6380,redis_6381 | 6379,6380,6381 |
10.100.232.172 | redis_6379,redis_6380,redis_6381 | 6379,6380,6381 |
服务器:10.100.232.171
创建基础配置文件
1,创建 redis 挂载目录:
2,创建 redis 集群模板配置文件:
模板配置文件内容:
- port:节点端口号;
- requirepass:对登录权限做限制,redis每个节点的requirepass可以是独立、不同的,建议 redis启用密码时将各个节点masterauth和requirepass设置为相同的密码,降低运维成本;
- masterauth:如果主节点开启了访问认证,从节点访问主节点需要认证,主要是针对master对应 的slave节点设置的,在slave节点数据同步的时候用到;
- protected-mode:保护模式,默认值 yes,即开启。开启保护模式以后,需配置 bind ip 或者设 置访问密码;关闭保护模式,外部网络可以直接访问;
- daemonize:是否以守护线程的方式启动(后台启动),默认no;
- appendonly:是否开启 AOF 持久化模式,默认 no;
- cluster-enabled:是否开启集群模式,默认 no;
- cluster-config-file:集群节点信息文件;
- cluster-node-timeout:集群节点连接超时时间;
- cluster-announce-ip:集群节点 IP,填写宿主机的 IP(内网ip);
- cluster-announce-port:集群节点映射端口;
- cluster-announce-bus-port:集群节点总线端口。
3,循环生成节点目录和配置文件
也可以直接在redis-cluster.tmpl所在的目录下,直接执行就行,直接在命令行中执行
4,tree 命令查看生成后的目录结构:
tree 命令安装:
目录结构:
确认一下生成的配置文件在 copy 过程中有没有丢失字符
docker-compose 构建 redis 容器
安装 docker-compose 并赋予执行权限(已安装可以略过)
创建 docker-compose.yml 配置文件:
文件内容(本次构建使用的镜像是 redis:latest,单主机构建三个节点):
构建 redis 容器:
执行成功结果:
防火墙开放端口
防火墙相关命令:
开放端口号:
服务器:10.100.232.172
同步服务器:10.100.232.172的步骤,接下来在该服务器主机上重复操作上面的步骤(记得改配置文件中的IP ),修改 redis-cluster.tmpl 的 IP
搭建集群
进入任意一个容器
执行命令创建集群(--cluster-replicas 1 代表一个master拥有一个slave )
集群搭建成功:
查看下集群的信息
控制台客户端连接下看看
搭建完成,自己去试试吧
文章转载自公众号:IT学习道场
