docker学习(十、搭建redis集群,三主三从)

2023-12-23 00:45

本文主要是介绍docker学习(十、搭建redis集群,三主三从),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、docker创建6个redis容器
    • 创建6个redis容器
    • 回顾各个属性含义
  • 二、划分主从,3主3从
    • 划分主从
    • 查看状态
    • 查看节点信息

docker搭建Redis集群相关知识:
docker学习(九、分布式存储亿级数据知识)
docker学习(十、搭建redis集群,三主三从)
docker学习(十一、Redis集群存储数据方式)
docker学习(十二、Redis主从容错迁移)
docker学习(十三、Redis主从扩容、缩容)

一、docker创建6个redis容器

创建6个redis容器

docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share-node-1:/data redis --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share-node-2:/data redis --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share-node-3:/data redis --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share-node-4:/data redis --cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share-node-5:/data redis --cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share-node-6:/data redis --cluster-enabled yes --appendonly yes --port 6386

在这里插入图片描述
在这里插入图片描述

回顾各个属性含义

--name redis-node-1 容器名字为redis-node-1
--net host 使用宿主机的IP和端口号,默认
--priviged=true 获取宿主机root用户全新啊
-v /data/redis/share/redis-node-6:/data 容器卷,宿主机地址:docker内部地址
redis redis镜像,如果版本号不是latest,需要加上,例如redis:6.0.8
--cluster-enabled yes 开启redis集群
--appendonly yes 开启持久化
--port 6381 redis端口号

二、划分主从,3主3从

划分主从

# 进入docker容器
docker exec -it redis-node-1 /bin/bash
# 进行划分主从,注意命令是自己的真实IP地址,可以宿主机ifconfig查看
redis-cli --cluster create 172.27.64.169:6381 172.27.64.169:6382 172.27.64.169:6383 172.27.64.169:6384 172.27.64.169:6385 172.27.64.169:6386 --cluster-replicas 1

–cluster-replicas 1 表示为每一个master创建1个slave节点,6个节点,也就是3个master3个slave
在这里插入图片描述
在这里插入图片描述
可以看到每个节点存储的hash槽与这个匹配上了,redis一共16384个槽。

接下来输入yes,可以看到三个Master,三个Slave

在这里插入图片描述

查看状态

在容器中执行命令查看状态

# 进入redis
redis-cli -p 6381
# 查看集群状态
cluster info

在这里插入图片描述

查看节点信息

# 查看集群节点信息
cluster nodes

在这里插入图片描述
1、2、3是master,4、5、6是slave。而他们的对应关系每次是随机分配的,可以看到我的主从关系是:
master1 – > slave6
master2 – > slave4
master3 – > slave5
在这里插入图片描述
到这里集群的简单搭建就完成了~
到这里集群的简单搭建就完成了~
到这里集群的简单搭建就完成了~

这篇关于docker学习(十、搭建redis集群,三主三从)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/526125

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧