docker搭建redis集群三主三从

2024-05-04 12:28

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

为什么需要做分布式redis

  1. 水平扩展:
    随着业务的发展,单机Redis可能无法满足日益增长的数据存储和访问需求。分布式Redis可以通过将数据分散到多个节点上来实现水平扩展,提高存储容量和处理能力。
  2. 高可用性:
    单点故障是任何系统的一大风险。分布式Redis通过复制和故障转移机制,确保即使某个节点失效,服务仍能继续运行,从而提高了系统的可用性。
  3. 负载均衡:
    分布式Redis可以将读写请求分散到多个节点,减少单个节点的压力,实现负载均衡,提高系统整体性能。
  4. 数据冗余与安全性:
    主从复制机制确保数据有多份副本,即使某个节点出现问题,也可以从其他节点恢复数据,增强了数据的安全性。
  5. 故障恢复:
    当节点出现故障时,分布式Redis可以通过自动或手动的故障转移机制,快速恢复服务,降低业务中断的影响。
    更好的地理分布:

就是适应当下的分布式环境来做的分布式redis。

批量启动脚本

# 端口号从7001到7006开始循环
for port in $(seq 7001 7006);  \
do \
# 创建node-port的文件夹
mkdir -p /mydata/redis/node-${port}/conf
# 给文件夹创建redis的配置类
touch /mydata/redis/node-${port}/conf/redis.conf
# 给redis.conf文件中写入内容,从EOF开始,到EOF结束。
cat << EOF > /mydata/redis/node-${port}/conf/redis.conf
# 定义端口号
port ${port}
# 开启集群模式
cluster-enabled yes
# 节点信息在nodes.conf保存着
cluster-config-file nodes.conf
# 每个节点的超时时间,超过多长时间连接不上就认为是断线了。超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 5000
# 每个节点在集群中的ip
cluster-announce-ip 192.168.1.119
# 在集群的端口号
cluster-announce-port ${port}
# 跟其他redis进行总线交互用的端口
cluster-announce-bus-port 1${port}
appendonly yes
EOF
#  暴露端口号 端口号 集群交互暴露端口号  集群交互端口号      容器名字
docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port}  \
# 挂载data目录 redis.conf 目录
-v /mydata/redis/node-${port}/data:/data \
-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
# -d以后台方式 镜像版本 redis-server启动redis 加载自定义的配置文件
-d redis:5.0.7 redis-server /etc/redis/redis.conf; \
done

windows命令换行符问题

vim进去后
:set ff=unix
:wq
这样子可以改变换行符

注意

需要更换里面的地址ip
三主三从是一个最低配置,以实际情况为准

启动集群命令

# 进入redis-7001内部
docker exec -it redis-7001 bash
# 用redis-cli命令行执行 创建集群 一个副本
redis-cli  --cluster create 192.168.1.119:7001 192.168.1.119:7002 192.168.1.119:7003 192.168.1.119:7004 192.168.1.119:7005 192.168.1.119:7006
--cluster-replicas 1

springboot项目连接redis 集群

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



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

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

Redis中使用布隆过滤器解决缓存穿透问题

一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据库带来巨大压力。 二、布隆过滤器原理 布隆过滤器(Bloom Filter)是一种空间效率很高的随机数据结构,它利用多个不同的哈希函数将一个元素映射到一个位数组中的多个位置,并将这些位置的值置