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,然后启动主从,主从 ...
随机推荐
- Unity_UIWidgets - 组件AppBar
Unity_UIWidgets - 组件AppBar AppBar 构造 构造png观看 使用代码 使用效果 AppBar使用结束 结语 图标Icon QQ 今日无推荐 Unity_UIWidgets ...
- 06yarn简介
YARN简介 一.YARN是什么 YARN不是facebook的那个yarn,它从Hadoop 2引入,最初目的是改善MapReduce的实现,但是因为具备足够通用性,同样也可以支持其他的分布式计算模 ...
- Task记录1.CancellationToken 取消Task任务的操作
//1.创建取消令牌数据 CancellationTokenSource tokenSource = new CancellationTokenSource(); //2.创建取消令牌 Cancell ...
- ChatGPT:让程序开发更轻松
作者:京东科技 赵龙波 "贾维斯,你在吗?" "随时待命,先生." 类似<钢铁侠>里的人工智能助理贾维斯,ChatGPT或许是你的随时待命的助手.C ...
- Nginx 安装perl
1 安装包下载 https://www.cpan.org/src获取最新偶数版本下载链接并替换(偶数版本为稳定版) 2 上传到服务器解压 tar -zxvf perl-5.36.0.tar.gz 3 ...
- Vue12 监视属性
1 简介 所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听属性,意思就是可以监视其他数据的变化 2 使用 使用watch配置项,在配置项里面写上要监视的属性,每次属性值的变化都 ...
- ASP.NET Core - 请求管道与中间件
1. 请求管道 请求管道是什么?请求管道描述的是一个请求进到我们的后端应用,后端应用如何处理的过程,从接收到请求,之后请求怎么流转,经过哪些处理,最后怎么返回响应.请求管道就是一次请求在后端应用的生命 ...
- Navicat 15 or 16 永久版本(window和Mac)
一.下载Navicat Premium 官网https://www.navicat.com.cn/下载最新版本下载安装 链接包含(window激活包和Mac版本,请选择性下载): https://no ...
- 【Vue】vue项目目录介绍 es6的导入导出语法 vue项目开发规范 Vue项目编写步骤
目录 昨日回顾 今日内容 0 vue-cli创建项目 node.js环境 创建vue-cli项目 1 vue项目目录介绍 node_modules index.html app.vue package ...
- python爬虫(含scrapy)
python爬虫 1.解析HTML: lxml 是一种python编写的库,可以迅速.灵活的处理xml和html 使用:根据版本的不同,有如下两种: 形式1: from lxml import etr ...