首页 > 数据库 >redis集群的简单应用

redis集群的简单应用

时间:2023-10-16 15:45:51浏览次数:35  
标签:node -- redis cluster 集群 应用 yes data

1、创建集群

# 创建redis示例
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
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
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
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
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
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 exec -it 80 bash

构建主从操作

#--cluster-replicas 1  表示为每一个master 创建一个slave
redis-cli --cluster create 172.26.120.85:6381 172.26.120.85:6382 172.26.120.85:6383 172.26.120.85:6384 172.26.120.85:6385 172.26.120.85:6386 --cluster-replicas 1

 以上哈希槽已经分配完毕

选一台容器进入查看集群信息

 

 此时集群的创建就算完成了,6太实例,三主三从,哈希槽也分配完毕

注意:此时应之前常规的方法写入会有问题

 原因是因为现在用的是集群的方式,且已经分配好哈希槽,此时k1经过哈希计算后他的id是12706,但是node1节点的槽位只到5460

所以此时应该以集群的方式进行操作

redis-cli -p 6381 -c

 查看集群信息

redis-cli --cluster check 172.26.120.85:6381

 

2、主从容错切换迁移

# 手动关闭节点2也就是6382这个容器
docker stop redis-node-2
# 之前6382是master 其对应的slave是6384
由下图可见,6382挂掉了,此时6384变成master了

 

#开启node2
 docker start redis-node-2

由图可见6382变成slave,说明恢复后其并不会变成master

 3、主从扩容

新增主机

docker run -d --name redis-node-7 --net host   --privileged=true -v /data/redis/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes  --appendonly yes --port 6387
docker run -d --name redis-node-8 --net host   --privileged=true -v /data/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes  --appendonly yes --port 6388
# 1、将6387作为master节点加入集群  6381作为领路人
redis-cli --cluster add-node 172.26.120.85:6387 172.26.120.85:6381

#  重新分配槽位
redis-cli --cluster reshard 172.26.120.85:6381
# 将6388 分配给6387做slave
redis-cli --cluster add-node 172.26.120.85:6388 172.26.120.85:6387 --cluster-slave --cluster-master-id c7066a8cf23831b4e03281fe07207d310c882b4e

 通过下图我们发现并不是从0重新分配,而是每一家匀一点给它

 

4、主从缩容# 1、先清除从节点6388

redis-cli --cluster del-node 172.26.120.85:6388 ff97b51215b702685454347c536cd5356f0d03ab

# 2、重新分配槽位
redis-cli --cluster reshard 172.26.120.85:6381
# 3、再删除6387
redis-cli --cluster del-node 172.26.120.85:6387 c7066a8cf23831b4e03281fe07207d310c882b4e
# 4、恢复3主3从

 

恢复3主3从

 

标签:node,--,redis,cluster,集群,应用,yes,data
From: https://www.cnblogs.com/xuguangzong/p/17767460.html

相关文章

  • kubernetes集群中pod访问外网丢包严重问题排查:mtu值设置不对
    kubernetes集群中pod访问外网丢包严重问题排查:mtu值设置不对问题描述和初步判断k8s中部署的数据中台调用指云(open.imzhiyun.com)的sdk接口,调用了23次,成功了3次,其余20次都失败。我这边通过在宿主机上进行tcpdump抓包抓包命令:1.查出调用sdk的容器名称2.查出该容器所在宿主机......
  • Chiplet封装技术的应用现状
    这是IC男奋斗史的第39篇原创本文1651字,预计阅读4分钟。接上文:Chiplet解决芯片技术发展瓶颈Chiplet封装的产品介绍以下介绍几款国内外使用Chiplet封装技术的代表产品,包括CPU、GPU和ASIC芯片。1.苹果M1-UltraCPU:2022年3月9日,苹果推出自研的M1-Ultra处理器芯片,通过UltraFusio......
  • HarmonyOS/OpenHarmony原生应用开发-华为Serverless服务支持情况(四)
    文档中的TS作者认为就是ArkTS之意。一、云存储AppGalleryConnect(简称AGC)云存储是一种可伸缩、免维护的云端存储服务,可用于存储图片、音频、视频或其他由用户生成的内容。借助云存储服务,您可以无需关心存储服务器的开发、部署、运维、扩容等事务,大大降低了应用使用存储的门槛,让您可......
  • JS小应用
    JS访问列表内容思路:1.获取对象数组以后,以超链接显示。对应id放在链接方法的参数里。2.点击链接以后,先把id存在session里,再跳转到显示内容页面。3.在显示内容页面,读取id,之后就简单了。请求资源,显示内容。列表页面,index.html: <!DOCTYPEhtml><html><head><m......
  • React学习笔记03-编写第一个react应用程序
    react开发需要引入多个依赖文件:react.js,react-dom.js,分别又有开发版本和生成版本,creat-react-app里已经帮我们把这些东西都安装好了。把通过CRA创建的工程目录下的src目录情况,然后在里面重新创建一个index.js写入以下代码。//从react的包当中引入了React。只要你要写React.j......
  • AP8851H 宽电压降压恒压DC-DC 电源管理芯片 5V 12V输出 零功耗 快充方案应用
    1,产品描述  AP8851H一款宽电压范围降压型DC-DC电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合在宽输入电压范围具有优良的负载和线性调整度。AP8851H芯片包含每周期的峰值限流、软启动、过压保护和温度保护,......
  • 机器视觉在气候变化和环境监测中的创新应用
    机器视觉在气候变化和环境监测中具有许多创新应用,可以用来更好地理解和应对环境挑战。以下是一些机器视觉在这一领域的应用:林火监测: 机器视觉系统可以分析卫星图像和野外相机捕捉的图像,以检测和监测森林火灾。这有助于及早发现火源并协助灭火行动。大气污染监测: 通过分析......
  • redis在linux下自启命令
    redis在linux下自启命令[Unit]Description=redis-serverAfter=network.target[Service]Type=forkingExecStart=/usr/local/bin/redis-server/software/redis-4.0.9/redis.confExecStop=/usr/local/bin/redis-clishutdownPrivateTmp=true[Install]WantedBy=multi-u......
  • 轻松掌握组件启动之Redis集群扩展秘籍:轻松扩容与缩容,释放高性能潜能
    扩展集群操作扩容在我们原始的集群基础上,我们决定增加一台主节点(8007)和一台从节点(8008),这样新增的节点将会在下图中以虚线框的形式显示在集群中。1:首先,在/usr/local/redis-cluster目录下创建两个文件夹,分别命名为8007和8008。接下来,将8001文件夹下的redis.conf文......
  • hadoop集群 大数据项目实战_电信用户行为分析_day02
    集群配置好后,运行一个小例子,统计单词1.hdfsdfs-put将本地系统的文件或文件夹复制到HDFS上2.hdfsdfs-ls/output  将所有的文件显示出来3.hdfsdfs-cat/output/ 将所有的文件读取出来 下载part-r-000000安装Redis1.下载Rediswgethttps://download.redis.i......