Docker安装Redis集群
  zEbHO6cVnp49 2023年11月02日 73 0

三主三从集群


主节点

从节点

第一个集群(100)

192.168.10.100:6380

192.168.10.101:6380

第二个集群(110)

192.168.10.110:6380

192.168.10.111:6380

第三个集群(120)

192.168.10.120:6380

192.168.10.121:6380

1. 创建集群网络

docker network create --driver bridge --subnet 192.168.10.0/24 --gateway 192.168.10.1 cluster

2. 创建相关文件

2.1. 创建三个集群对应文件夹

[root@ovkgwkuxcpcmdmmq home]# mkdir cluster1
[root@ovkgwkuxcpcmdmmq home]# mkdir cluster2
[root@ovkgwkuxcpcmdmmq home]# mkdir cluster3

2.2. 每个集群内两个节点

[root@ovkgwkuxcpcmdmmq cluster1]# mkdir master
[root@ovkgwkuxcpcmdmmq cluster1]# mkdir slave1

2.3. 每个节点创建data文件及redis.conf

[root@ovkgwkuxcpcmdmmq master]# mkdir data
[root@ovkgwkuxcpcmdmmq master]# touch redis.conf

2.4. 文件树形结构

Docker安装Redis集群_docker

3. redis.conf内容

下载地址:http://download.redis.io/redis-stable/redis.conf

cluster-enabled yes
cluster-config-file node.conf
port 6380
appendonly yes
appendfilename "appendonly.aof"
  • cluster-enabled yes 开启集群功能

4. 节点执行

4.1. Master执行

docker run -d --name cluster1-master --net cluster --ip=192.168.10.100 --restart=always --privileged=true -v /home/cluster1/master/redis.conf:/etc/redis/redis.conf -v /home/cluster1/master/data:/data redis redis-server /etc/redis/redis.conf

4.2. slave1执行

docker run -d --name cluster1-slave1 --net cluster --ip=192.168.10.101 --restart=always --privileged=true -v /home/cluster1/slave1/redis.conf:/etc/redis/redis.conf -v /home/cluster1/slave1/data:/data redis redis-server /etc/redis/redis.conf

4.3. 三主三从完整执行

docker run -d --name cluster1-master --net cluster --ip=192.168.10.100 --restart=always --privileged=true -v /home/cluster1/master/redis.conf:/etc/redis/redis.conf -v /home/cluster1/master/data:/data redis redis-server /etc/redis/redis.conf

docker run -d --name cluster2-master --net cluster --ip=192.168.10.110 --restart=always --privileged=true -v /home/cluster2/master/redis.conf:/etc/redis/redis.conf -v /home/cluster2/master/data:/data redis redis-server /etc/redis/redis.conf

docker run -d --name cluster3-master --net cluster --ip=192.168.10.120 --restart=always --privileged=true -v /home/cluster3/master/redis.conf:/etc/redis/redis.conf -v /home/cluster3/master/data:/data redis redis-server /etc/redis/redis.conf

docker run -d --name cluster1-slave1 --net cluster --ip=192.168.10.101 --restart=always --privileged=true -v /home/cluster1/slave1/redis.conf:/etc/redis/redis.conf -v /home/cluster1/slave1/data:/data redis redis-server /etc/redis/redis.conf

docker run -d --name cluster2-slave1 --net cluster --ip=192.168.10.111 --restart=always --privileged=true -v /home/cluster2/slave1/redis.conf:/etc/redis/redis.conf -v /home/cluster2/slave1/data:/data redis redis-server /etc/redis/redis.conf

docker run -d --name cluster3-slave1 --net cluster --ip=192.168.10.121 --restart=always --privileged=true -v /home/cluster3/slave1/redis.conf:/etc/redis/redis.conf -v /home/cluster3/slave1/data:/data redis redis-server /etc/redis/redis.conf

5. 配置主从集群

5.1. 进入任意容器实例

docker exec -it cluster1-master bash

Docker安装Redis集群_redis_02

5.2. 配置集群

最低3主3从,主节点为前3个

redis-cli --cluster create 192.168.10.100:6380 192.168.10.110:6380 192.168.10.120:6380 192.168.10.101:6380 192.168.10.111:6380 192.168.10.121:6380 --cluster-replicas 1

Docker安装Redis集群_docker_03

5.3. 查看集群节点信息

redis-cli -h 192.168.10.100 -p 6380

cluster nodes

Docker安装Redis集群_docker_04

6. 集群模式连接

添加-c参数

redis-cli -c -h 192.168.10.100 -p 6380

6.1. 执行过程

set name tom

Docker安装Redis集群_docker_05

get name

Docker安装Redis集群_redis_06

Docker安装Redis集群_docker_07

参考

https://blog.csdn.net/qq_42971035/article/details/128171542

https://blog.csdn.net/weixin_46122171/article/details/127309830

https://blog.csdn.net/weixin_42440345/article/details/95048739

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  DF5J4hb0hcmT   2023年11月02日   50   0   0 mysqldocker
  DF5J4hb0hcmT   2023年11月02日   35   0   0 docker
  llt0tXqeaug8   2023年11月26日   40   0   0 ubunturubydocker
  DF5J4hb0hcmT   2023年11月02日   56   0   0 Redisdocker
  DF5J4hb0hcmT   2023年11月02日   66   0   0 javajardocker
  DF5J4hb0hcmT   2023年11月02日   39   0   0 mysqldocker
zEbHO6cVnp49