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,然后启动主从,主从 ...
随机推荐
- C Primer Plus (6.16) 編程練習
/*C Primer Plus (6.15) 6*/ 1 #include<stdio.h> 2 int main() 3 { 4 int i,j; 5 for(int i=0;i< ...
- 超级容易理解的Three.js中的物体rotation
假设模特头朝着自己现在躺在地上 那么改变Y就是等于躺着转圈圈 mesh.rotation.set( 0,Math.PI/1.2,0); 改变X就意味着,这个是本来模特头朝着自己躺着,然后站起来了,后脑 ...
- Python语法与基本数据类型
Python语法与基本数据类型 一.Python语法之注释 1.注释 注释就是对一段代码的解释说明 2.注释的写法 1.单行注释:解释说明的文字前面加#号, pycharm中有快捷键 ctrl+? 2 ...
- 12月14日内容总结——模板层之标签、自定义模板语法、母版(模版)的继承与导入、模型层前期准备知识点、ORM常用关键字
目录 一.模板层之标签 分支结构if for循环 with(定义变量名) 二.自定义过滤器.标签及inclusion_tag(了解) 三.母版(模板)的继承与导入(重要) 四.模型层之前期准备 模型层 ...
- MySQL-SQL语句查询关键字
1.SQL语句查询关键字 1.select:指定需要查找的字段信息,eg:select *,select name.同时select也支持对字段做处理,eg:select char_length(na ...
- v-html渲染页面的时候 css样式无效
感谢: https://www.cnblogs.com/niuxiaoxian/p/9443873.html 当我们用v-html渲染页面的时候会发现样式并没有添加上,如下 复制代码 <temp ...
- CentOS7安装了图形界面为默认如何修改默认登录到控制台
在安装的时候,选择了图形界面安装,一段时间后,想还是直接登录到控制台,需要的时候在手动登录到图形界面, 在CentOS7中的设置方法不同与之前的版本 在之前的版本中是修改配置文件 sudo nano ...
- Navicat修改mysql表的字符集和排序规则
突然想起前一阵子,在做javaweb后端debug的时候遇到的这个问题.由于在Dao层测试的时候没有尝试过中文的测试例,所以在Service写好后一直不报错但是无法插入数据库. 找了好久才发现是Mys ...
- SRE:如何提高报警有效性?
为什么要提升<报警有效性> 过多的报警会让负责人麻木 过多的报警会增加短信和电话的成本 提升根因定位效率 如何定义<报警有效性> 不漏报 不误报 不重报 不延报 如何量化 MT ...
- P5787 二分图 /【模板】线段树分治
\(\text{Solution}\) 线段树分治的模板 对时间分治,线段树下标表示时间 在线段树上处理每条覆盖当前区间的边,对当前的时间区间求答案 小区间的信息可以由大区间一路下来得到,那么答案就是 ...