使用docker部署redis三主三从集群

docker搭建redis三主三从集群

1.拉取redis镜像
docker pull redis

2.查看镜像是否拉取成功
docker images

3.创建集群目录文件
mkdir redis-cluster-d

4.进入创建的目录
cd redis-cluster-d/

5.创建redis配置文件模板
vi redis-cluster.tmpl

#模板内容如下

port ${PORT}

masterauth 123456

requirepass 123456

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 127.0.0.1

cluster-announce-port ${PORT}

cluster-announce-bus-port 1${PORT}

appendonly yes

#配置解释

1.port 端口号
2.masterauth 节点间访问密码 跟下面一致
3.requirepass redis访问密码
4.cluster-enabled 启动集群模式
5.cluster-config-file 集群节点信息文件
6.cluster-node-timeout 集群节点宕机发现时间
7.cluster-announce-ip 集群节点汇报ip(外网访问使用外网ip,内网访问使用内网ip,除本机外不能使用127.0.0.1)
8.cluster-announce-port 集群节点的汇报port防止nat
9.cluster-announce-bus-port 集群节点的汇报bus-port防止nat
10.appendonly 开启aof持久化

5.使用命令:在 redis-cluster下生成conf和data目标,并生成配置信息
for port in seq 7001 7006;
do mkdir -p ./KaTeX parse error: Expected 'EOF', got '&' at position 13: {port}/conf &̲& PORT={port} envsubst < ./redis-cluster.tmpl > ./KaTeX parse error: Expected 'EOF', got '&' at position 24: …onf/redis.conf &̲& mkdir -p ./{port}/data;
done;

#遍历生成不同端口redis配置文件 与挂载目录 若两个服务器部署 应分别执行 三个端口即可

6.创建六个redis容器
for port in seq 7001 7006;
do docker run -d --net=host -v /home/redis-cluster-d/ p o r t / c o n f / r e d i s . c o n f : / e t c / r e d i s / r e d i s . c o n f − v / h o m e / r e d i s − c l u s t e r − d / {port}/conf/redis.conf:/etc/redis/redis.conf -v /home/redis-cluster-d/ port/conf/redis.conf:/etc/redis/redis.confv/home/redisclusterd/{port}/data:/data --restart always --name=redis-${port} redis redis-server /etc/redis/redis.conf;
done;
#遍历开启不同端口redis容器 与挂载目录 若两个服务器部署 应分别执行 三个端口即可
#/home/redis-cluster-d 为最开始创建的文件目录

7.查看容器是否创建成功
docker ps

8.进入容器内部
docker exec -it redis-7001 bash

9.配置节点信息
redis-cli -a 123456 --cluster create 192.168.80.93:7001 192.168.80.93:7002 192.168.80.93:7003 192.168.80.93:7004 192.168.80.93:7005 192.168.80.93:7006 --cluster-replicas 1

#多个服务器时 使用不同的ip跟端口 配置成自己使用的

10.进入redis服务器内部
redis-cli -c -a 123456 -h 127.0.0.1 -p 7001

11.查看节点信息
CLUSTER NODES

12.springboot使用redis集群

yml格式:

spring:
redis
password: 123456 #密码
cluster:
nodes:
- 192.168.80.93:7001 #节点信息
- 192.168.80.93:7002
- 192.168.80.93:7003
- 192.168.80.93:7004
- 192.168.80.93:7005
- 192.168.80.93:7006
max-redirects: 5 #重定向次数

properties格式:

#节点信息
spring.redis.cluster.nodes=127.0.0.1:7000,127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003,127.0.0.1:7004,127.0.0.1:7005
#重定向次数
spring.redis.cluster.max-redirects=5

redis服务器连接密码(默认为空)

spring.redis.password=123456

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值