redis cluster 部署
redis cluster 部署
服务器说明
192.168.2.200:7000 ... 192.168.2.200:7005
创建集群目录
mkdir cluster-test
cd cluster-test
mkdir 7000 7001 7002 7003 7004 7005
在每个目录下创建配置文件redis.config
redis.config内容
#不同的目录端口不一样7000-》7005
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
requirepass 123456
# 使用守护进程模式
daemonize yes
# 非保护模式,可以外网访问
protected-mode no
cluster-replica-validity-factor 0
cluster-require-full-coverage yes
cluster-allow-reads-when-down yes
进入到每个7000->7005目录启动redis
redis-server ./redis.conf
创建集群
redis-cli --cluster create 192.168.2.200:7000 192.168.2.200:7001 \
192.168.2.200:7002 192.168.2.200:7003 192.168.2.200:7004 192.168.2.200:7005 \
--cluster-replicas 1 -a 123456
集群命令
#连接上一个节点
redis-cli -c -p 7000 -a 123456
#查看集群节点信息
redis-cli -p 7000 -a 123456 cluster nodes
#重新分配 分配要填写数量和分給节点的id
redis-cli --cluster reshard 127.0.0.1:7000 -a 123456
#重新分配可以直接执行,不需要手动输入,同上条命令一致
redis-cli --cluster reshard <host>:<port> --cluster-from <node-id>
--cluster-to <node-id> --cluster-slots <number of slots> --cluster-yes
#测试集群状态
redis-cli --cluster check 127.0.0.1:7000 -a 123456
#让主节点7002
redis-cli -p 7002 -a 123456 debug segfault
#添加一个新节点
redis-cli -a 123456 --cluster add-node 127.0.0.1:7006 127.0.0.1:7000
#添加一个slave
redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave
#添加一个指定主节点的slave
redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave --cluster-master-id `<node-id>`
#删除一个节点
redis-cli --cluster del-node 127.0.0.1:7000 `<node-id>`
redis-cli -a 123456 --cluster del-node 127.0.0.1:7000 c5509e0f1b161c126eed61a9718aa9200a6e5018
- cluster-enabled<yes/no>:如果是,则在特定的Redis实例中启用Redis群集支持。否则,实例将照常作为独立实例启动。
- cluster-config-file<filename>:请注意,尽管有此选项的名称,但这不是一个用户可编辑的配置文件,而是每次发生更改时,Redis群集节点都会自动保存群集配置(基本上是状态)的文件,以便在启动时重新读取。该文件列出了集群中的其他节点、它们的状态、持久变量等。通常,由于接收到一些消息,该文件会被重写并刷新到磁盘上。
- cluster-node-timeout <milliseconds>:Redis群集节点不可用的最长时间,而不会被视为失败。如果主节点在指定的时间内无法访问,则其副本将对其进行故障切换。此参数控制Redis集群中的其他重要内容。值得注意的是,在指定时间内无法到达大多数主节点的每个节点都将停止接受查询。
- cluster-slave-validity-factor <factor>:如果设置为零,副本将始终认为自己有效,因此将始终尝试对主机进行故障切换,而不管主机和副本之间的链路保持断开的时间。如果该值为正值,则最大断开时间将计算为节点超时值乘以此选项提供的系数,如果节点是副本,则如果主链路断开的时间超过指定的时间,则不会尝试启动故障切换。例如,如果节点超时设置为5秒,有效性系数设置为10,则与主机断开连接超过50秒的复制副本将不会尝试对其主机进行故障切换。请注意,如果没有能够进行故障切换的副本,则任何不同于零的值都可能导致Redis群集在主机故障后不可用。在这种情况下,只有当原始主机重新加入群集时,群集才会恢复可用。
- cluster-migration-barrier : 主机将保持连接的副本的最小数量,以便另一个副本迁移到不再被任何副本覆盖的主机。
- cluster-require-full-coverage <yes/no> : 如果默认设置为yes,则如果某有空闲的哈希槽未分配,集群将停止接受写入。如果该选项设置为no,集群仍将为查询提供服务
- cluster-allow-reads-when-down <yes/no>: 默认是 no,表示当集群因主节点数量达不到最小值或者哈希槽没有完全分配而被标记为失效时,节点将停止所有客户端请求。 设置成 yes,则允许集群失效的情况下依然可从节点中读取数据,保证了高可用。
redis cluster 部署的更多相关文章
- window下使用Redis Cluster部署Redis集群
日常的项目很多时候都需要用到缓存.redis算是一个比较好的选择.一般情况下做一个主从就可以满足一些比较小的项目需要.在一些并发量比较大的项目可能就需要用到集群了,redis在Windows下做集群可 ...
- Redis Cluster部署、管理和测试
背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...
- 基于redis5的redis cluster部署
一.环境规划 #准备六台主机,地址如下 10.0.0.8 ---> master1 10.0.0.18 ---> master2 10.0.0.28 ---> master3 10. ...
- redis cluster 部署过程
一, 特点 高性能: 1.在多分片节点中,将16384个槽位,均匀分布到多个分片节点中 2.存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16383之间) 3.根 ...
- 【docker】【redis】2.docker上设置redis集群---Redis Cluster部署【集群服务】【解决在docker中redis启动后,状态为Restarting,日志报错:Configured to not listen anywhere, exiting.问题】【Waiting for the cluster to join...问题】
参考地址:https://www.cnblogs.com/zhoujinyi/p/6477133.html https://www.cnblogs.com/cxbhakim/p/9151720.htm ...
- 在 K8S 中快速部署 Redis Cluster & Redisinsight
Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster . helm repo add bitnami h ...
- Redis Cluster 原理相关说明
背景 之前写的 Redis Cluster部署.管理和测试 和 Redis 5.0 redis-cli --cluster help说明 已经比较详细的介绍了如何安装和维护Cluster.但关于Clu ...
- 如何用docker部署redis cluster
前言 由于本人是个docker控,不喜欢安装各种环境,而且安装redis-trib也有点繁琐,索性用docker来做redis cluster. 本文用的是伪集群,真正的集群放到不同的机器即可.端口是 ...
- Redis Cluster的搭建与部署,实现redis的分布式方案
前言 上篇Redis Sentinel安装与部署,实现redis的高可用实现了redis的高可用,针对的主要是master宕机的情况,我们发现所有节点的数据都是一样的,那么一旦数据量过大,redi也会 ...
- centos6下redis cluster集群部署过程
一般来说,redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口,比如:slaveof 192.168.10.10 6379,然后启动主从,主从 ...
随机推荐
- 花1分钟配置远程DEBUG,开发效率翻倍,妹子直呼绝绝子
当把一个工程部署到远程服务器后有可能出现意想不到错误,日志打印过多或者过少都影响问题排查的效率,这个时候可以通过远程调试的方式快速定位bug,提升工作效率.本文主要讲解如何使用Idea开发工具进行远程 ...
- python实现通用json导入到mysql
import json from Db import Db db = Db() ''' 参考配置文件 { "file": "test.json", " ...
- SpringBoot+Vue前后端分离项目,在过滤器取值为Null
SpringBoot+Vue前后端分离项目,在过滤器取值为Null 是因为SessionID的问题,因为axios每次的请求都是一次新的sessionId,所以只需要在main.js下配置如下 axi ...
- mysql15 sql优化-小表驱动大表 IN和EXITS
转:https://blog.csdn.net/qq_27409289/article/details/85963089 1.IN查询分析 select * from a where a.id in ...
- 尊重 respect
尊重他人,这里面的门道. 明面上尊重他人要在自身有地位有身份的前提下,你身边的其他人 才能高效接收到你传递的信号,这叫礼贤下士. 暂时没地位的人更是应该无时无刻释放出尊重他人的信号,来向外界传达你是一 ...
- PopClip使用教程图文详解 2022.12亲测有效
PopClip简介 PopClip mac版是Macos上一款增强型复制粘贴工具,当你选中文字后,PopClip会自动弹出复制.剪切.粘贴.搜索等等操作,除了复制粘贴外,PopClip还提供了很多的扩 ...
- 记录一次vue部署docker步骤
vue部署docker 拉取nginx镜像 docker pull nginx 有Dockerfile文件步骤: 1.打包vue npm run build 2.写一个default.conf 文件, ...
- JZOJ.4724 斐波那契
\(\text{Problem}\) \(\text{Solution}\) \(\text{Fibonacci}\) 数列有一个性质:若 \(H_1=a,H_2=b,H_n=H_{n-2}+H_{n ...
- Abp+Vue iis发布报错 HTTP Error 500.30 - ANCM In-Process Start Failure
1.项目发布到文件系统 2.IIS设置 ABP 如果使用时Net Core 跨平台,它依赖AspNetCoreModuleV2模块(没有的话需要先安装) 下载地址:https://dotnet ...
- Pdfjs第三方插件使用
项目中时常会遇到在线预览PDF文件的需求,网上一找也能找到很多,但被使用率高的并不多,经过多次实验发现被应该最多的还属pdfjs插件. 首先介绍下:Pdf.js插件是由Mozilla 主导推出的 作用 ...