redis 三主三从高可用集群docker swarm

这篇具有很好参考价值的文章主要介绍了redis 三主三从高可用集群docker swarm。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

redis集群(cluster)笔记

redis 三主三从高可用集群docker swarm

redis 三主六从高可用docker(不固定ip)

redis 三主六从高可用dockerswarm高级版(不固定ip)

由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。
官网介绍地址

跨主机部署redis

安装文件下载链接(或者按照下面的步骤自己创建)

链接:https://pan.baidu.com/s/1tLgLYWkawTvU17yvU1M_5A?pwd=xp9p

主机 IP
node1 192.168.56.100
node2 192.168.56.101
node3 192.168.56.102

redis 三主三从高可用集群docker swarm,redis,redis,docker,数据库
在node1 开放防火墙:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.101" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" accept"
firewall-cmd --reload
firewall-cmd --list-all

在node2 开放防火墙:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.100" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" accept"

firewall-cmd --reload
firewall-cmd --list-all

在node3 开放防火墙:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.101" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.100" accept"

firewall-cmd --reload
firewall-cmd --list-all

1. 在3台主机上配置swarm

  • 创建 /home/redis
mkdir -p /home/redis && cd /home/redis
  • 3台机器分别将redis.zip拷贝到 /home/redis

  • 在node1上执行:

docker swarm init --advertise-addr 192.168.56.100
docker swarm join-token manager

返回类似以下内容:

docker swarm join --token SWMTKN-1-614xi9dvksycykobgifxb4pgopc1wwgczwqct5wqkq8zao6tmx-0ds4jj3ozclrr2wukcaoakxso 192.168.56.100:2377
  • 在node2、node3上执行上面的返回结果:
docker swarm join --token SWMTKN-1-2c2xopn2rld8oltcof24sue370681ijhbo3bwcqarjlhq9lkea-2g53o5qn2anre4j9puv4hecrn 192.168.0.101:2377

2. 创建swarm网络

在node1上执行以下命令:

docker network create --subnet=10.0.1.0/24 -d overlay --attachable pxc_swarm

3.文件目录如下

├─node1
│  ├─conf
│  ├─redis1
│  │  └─data
│  └─redis2
│      └─data
├─node2
│  ├─conf
│  ├─redis1
│  │  └─data
│  └─redis2
│      └─data
└─node3
    ├─conf
    ├─redis1
    │  └─data
    └─redis2
        └─data

4.文件介绍

4.1 所有conf文件夹里面有一个redis.conf
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
4.2 所有node下面的目录有一个docker-compose.yml
node1 docker-compose.yml
version: '3'

networks:
  pxc_swarm:
    external: true 

services:
  redis1:
    image: redis:6.0-alpine
    hostname: redis1
    container_name: redis1
    volumes:
      - "/home/redis/redis1/data:/data"
      - "/home/redis/conf/redis.conf:/etc/redis.conf"
    command: redis-server /etc/redis.conf 
    restart: always
    privileged: true
    networks:
      pxc_swarm:
        ipv4_address: 10.0.1.10
  redis2:
    image: redis:6.0-alpine
    hostname: redis2
    container_name: redis2
    volumes:
      - "/home/redis/redis2/data:/data"
      - "/home/redis/conf/redis.conf:/etc/redis.conf"
    command: redis-server /etc/redis.conf 
    restart: always
    privileged: true
    networks:
      pxc_swarm:
        ipv4_address: 10.0.1.11
  
node2 docker-compose.yml
version: '3'

networks:
  pxc_swarm:
    external: true 

services:
  redis1:
    image: redis:6.0-alpine
    hostname: redis1
    container_name: redis1
    volumes:
      - "/home/redis/redis1/data:/data"
      - "/home/redis/conf/redis.conf:/etc/redis.conf"
    command: redis-server /etc/redis.conf 
    restart: always
    privileged: true
    networks:
      pxc_swarm:
        ipv4_address: 10.0.1.20
  redis2:
    image: redis:6.0-alpine
    hostname: redis2
    container_name: redis2
    volumes:
      - "/home/redis/redis2/data:/data"
      - "/home/redis/conf/redis.conf:/etc/redis.conf"
    command: redis-server /etc/redis.conf 
    command: redis-server /etc/redis.conf 
    restart: always
    privileged: true
    networks:
      pxc_swarm:
        ipv4_address: 10.0.1.21
  
node3 docker-compose.yml
version: '3'

networks:
  pxc_swarm:
    external: true 

services:
  redis1:
    image: redis:6.0-alpine
    hostname: redis1
    container_name: redis1
    volumes:
      - "/home/redis/redis1/data:/data"
      - "/home/redis/conf/redis.conf:/etc/redis.conf"
    command: redis-server /etc/redis.conf 
    restart: always
    privileged: true
    networks:
      pxc_swarm:
        ipv4_address: 10.0.1.30
  redis2:
    image: redis:6.0-alpine
    hostname: redis2
    container_name: redis2
    volumes:
      - "/home/redis/redis2/data:/data"
      - "/home/redis/conf/redis.conf:/etc/redis.conf"
    command: redis-server /etc/redis.conf 
    command: redis-server /etc/redis.conf 
    restart: always
    privileged: true
    networks:
      pxc_swarm:
        ipv4_address: 10.0.1.31
  
4.3 其余的是目录

5.node1执行

rm -rf /home/redis/node2
rm -rf /home/redis/node3
cd /home/redis/node1 && docker-compose up -d

6.node2执行

rm -rf /home/redis/node1
rm -rf /home/redis/node3
docker run --rm redis:6.0-alpine redis-cli -v
cd /home/redis/node2 && docker-compose up -d

7.node3执行

rm -rf /home/redis/node1
rm -rf /home/redis/node2
docker run --rm redis:6.0-alpine redis-cli -v
cd /home/redis/node3 && docker-compose up -d

8.加入集群

docker exec -it redis1 /bin/sh
redis-cli --cluster create 10.0.1.10:6379 10.0.1.20:6379 10.0.1.11:6379 10.0.1.30:6379 10.0.1.21:6379 10.0.1.31:6379 --cluster-replicas 1

redis 三主三从高可用集群docker swarm,redis,redis,docker,数据库

M: 1ff0c227fff72b893e8c7514a7d8f49183f0a397 10.0.1.10:6379
   slots:[0-5460] (5461 slots) master
M: 5242fb87c0c7f0179d32727b6043cc546ec1a731 10.0.1.20:6379
   slots:[5461-10922] (5462 slots) master
M: 7daa8da3450adc53ac88eda3a3c1a8f2c1976c02 10.0.1.11:6379
   slots:[10923-16383] (5461 slots) master
S: 962e2b4516cb7186f407d6ffc3a91b62603e0a09 10.0.1.30:6379
   replicates 7daa8da3450adc53ac88eda3a3c1a8f2c1976c02
S: 04fff0c1488896bef11aa508edbbf5ac6c29815b 10.0.1.21:6379
   replicates 1ff0c227fff72b893e8c7514a7d8f49183f0a397
S: 2e43a4d7b46b20e60220b4f495d8370b07c717bd 10.0.1.31:6379
   replicates 5242fb87c0c7f0179d32727b6043cc546ec1a731

10  21
20  31
11  30

所有主从不允许在同一台机器上文章来源地址https://www.toymoban.com/news/detail-770252.html

7.常用命令

# 查看节点
cluster nodes

到了这里,关于redis 三主三从高可用集群docker swarm的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【kubernetes】k8s高可用集群搭建(三主三从)

    目录 【kubernetes】k8s高可用集群搭建(三主三从) 一、服务器设置 二、环境配置 1、关闭防火墙 2、关闭selinux 3、关闭swap 4、修改主机名(根据主机角色不同,做相应修改) 5、主机名映射 6、将桥接的IPv4流量传递到iptables的链 7、时间同步 8、master之间进行免密登录设置 三、

    2024年02月09日
    浏览(43)
  • Redis7搭建主从+集群三主三从主从关系由集群分配

    三台虚拟机,一台虚拟机搭建两个redis 且两个不同的端口 命令 mkdir cluster 不要用 --mkdir /cluster 加这 斜杠 / 就会报错,因为 斜杠 是在根目录下创建目录 或者用 mkdir -p /myredis/cluster 创建树形目录 redisCluster6381.conf配置信息 redisCluster6382.conf配置信息 redisCluster6383.conf配置信息 red

    2023年04月10日
    浏览(45)
  • redis三主三从详细搭建过程

    搭建Redis三主三从集群的详细步骤如下: 准备环境: 确保你有六台服务器或虚拟机,每台服务器上都已经安装了Redis。这些服务器将用于搭建三主三从的Redis集群。 确保所有服务器之间的网络连接正常,并且防火墙设置允许Redis通信。 安装Redis: 在每台服务器上下载并安装

    2024年03月10日
    浏览(51)
  • 【微服务部署】十、使用Docker Compose搭建高可用Redis集群

      现如今,业务系统对于缓存Redis的依赖似乎是必不可少的,我们可以在各种各样的系统中看到Redis的身影。考虑到系统运行的稳定性,Redis的应用和MySQL数据库一样需要做到高可用部署。 一、Redis 的多种高可用方案 常见的Redis的高可用方案有以下几种: Redis Replication(主从

    2024年02月07日
    浏览(45)
  • Redis缓存高可用集群

    作者:京东零售 王雷 • 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般。 特别是在主从切换的瞬间存在

    2023年04月10日
    浏览(38)
  • Redis高并发高可用(集群)

    Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的。之前,Redis分布式方案一般有两种: 1、客户端分区方案,优点是分区逻辑可控,缺点是需要自己

    2024年01月24日
    浏览(45)
  • Redis高可用(主从复制,哨兵,集群)

    主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从

    2024年02月07日
    浏览(35)
  • Redis高可用主从复制、哨兵、集群

    在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和集群。 1、主从复制 主从复制时高可用Redis的基础,哨兵和cluster都是在主从复制基础上实现高可用的,主从复制主要实现了数据的多级备份,以及对与读操作的负载均衡和简单的故障恢复。 缺陷:①故障恢复无

    2024年02月12日
    浏览(51)
  • 【Redis 神秘大陆】004 高可用集群

    当你发现这些内容对你有帮助时,为了支持我的工作,不妨给一个 免费的⭐Star ,这将是对我最大的鼓励!感谢你的陪伴与支持!一起在技术的路上 共同成长 吧!点击链接:GitHub | Gitee 分布式系统本质是通过低廉的硬件攒在一起以获得更好的吞吐量、性能以及可用性等。一

    2024年04月17日
    浏览(58)
  • 【Redis】高可用之三:集群(cluster)

    本文是Redis系列第6篇,前5篇欢迎移步  【Redis】不卡壳的 Redis 学习之路:从十大数据类型开始入手_AQin1012的博客-CSDN博客 关于Redis的数据类型,各个文章总有些小不同,我们这里讨论的是Redis 7.0,为确保准确,我们直接看官网。 https://blog.csdn.net/aqin1012/article/details/130365083 【

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包