51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Docker 配置 redis 集群3主3从

Docker 配置 redis 集群3主3从 {#Docker-配置-redis-集群3主3从}

1. 启动docker服务 {#1-启动docker服务}

注意开放端口,或者关闭防火墙,否则从机连接不上主机。

|-----------|------------------------------------------| | 1 | hljs crmsh systemctl start docker |

2. 创建6个docker容器redis实例 {#2-创建6个docker容器redis实例}

1)创建实例 redis-node-1 {#1)创建实例-redis-node-1}

|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs jboss-cli docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 |

2)创建实例 redis-node-2 {#2)创建实例-redis-node-2}

|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs jboss-cli docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382 |

3)创建实例 redis-node-3 {#3)创建实例-redis-node-3}

|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs jboss-cli docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383 |

4)创建实例 redis-node-4 {#4)创建实例-redis-node-4}

|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs jboss-cli docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384 |

5)创建实例 redis-node-4 {#5)创建实例-redis-node-4}

|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs jboss-cli docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385 |

6)创建实例 redis-node-6 {#6)创建实例-redis-node-6}

|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs jboss-cli docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386 |

命令解释:

  • docker run :创建并运行docker容器实例
  • --name redis-node-6:容器名字
  • --net host :使用宿主机的IP和端口,默认
  • --privileged=true:获取宿主机root用户权限
  • -v /data/redis/share/redis-node-6:/data:容器卷,宿主机地址:dockerp内部地址
  • redis:6.0.8:redis镜像和版本号
  • --cluster-enabled ye:开启redis集群
  • --appendonly yes:开启持久化
  • --port 6386:redis端口号

运行成功,效果如下

3. 进入容器构建集群关系 {#3-进入容器构建集群关系}

进入容器 redis-noe-1

|-----------|----------------------------------------------------------| | 1 | hljs crmsh docker exec -it redis-node-1 /bin/bash |

注意:进入docker容器后才能执行一下命令,且注意自己的真实IP地址

构建主从关系

--cluster-replicas 1 表示为每个master创建一个slave节点

|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | hljs dns redis-cli --cluster create 192.168.111.147:6381 192.168.111.147:6382 192.168.111.147:6383 192.168.111.147:6384 192.168.111.147:6385 192.168.111.147:6386 --cluster-replicas 1 |

4. 查看集群状态 {#4-查看集群状态}

链接进入6381作为切入点,查看节点状态

|-------------------|----------------------------------------------------------------| | 1 2 3 4 5 | hljs pgsql redis-cli -p 6381 cluster info cluster nodes |

若集群状态跟上图一样,则说明3主3从集群搭建成功啦~👌

赞(0)
未经允许不得转载:工具盒子 » Docker 配置 redis 集群3主3从