redis集群与主从配置
- redis安装-redis集群管理
- redis主从复制(读写分离)-redis集群管理
- redis主从从架构搭建-redis集群管理
- redis从库只读设置-redis集群管理
- redis主从复制的原理-redis集群管理
- redis sentinel(哨兵) 配置详解-redis集群管理
- redis sentinel.conf详解-redis集群管理
- redis 集群环境搭建-redis集群管理
- redis集群插槽分配-redis集群管理
- redis新增集群节点-redis集群管理
- redis删除集群节点-redis集群管理
- redis集群出现宕机没法访问-redis集群管理
- redis 集群使用主从复制架构-redis集群管理
redis 基础教程
- Redis概述
- 基于linux下redis安装与配置
- 基于window安装redis
- Redis配置文件详解
- 通过redis客户端查看和设置配置
- Redis 客户端连接、密码验证、连接数设置
- 使用info命令获取 redis 服务详细信息
- Redis Desktop Manager客户端使用教程
redis 数据类型
Redis 高级教程
知识点
相关文章
更多最近更新
更多redis删除集群节点-redis集群管理
2019-03-21 22:16|来源: 网路
先查看一下集群节点信息:
192.168.56.101:6382> cluster nodes
03596d92625f1b778f29eb4a9128d92809dfd79a 192.168.56.101:6381 master - 0 1468857421626 2 connected 5795-10922
e6d316a0dcd7cfcc98de645d86989d5527e86e55 192.168.56.101:6383 master - 0 1468857422639 4 connected 0-332 5461-5794 10923-11255
b1939026deb80fedde7bdb22c1df3ecfaa72f608 192.168.56.101:6380 master - 0 1468857420614 1 connected 333-5460
6aa027917d223b8fedd42893a89fb0e2c07c8b27 192.168.56.101:6382 myself,master - 0 0 3 connected 11256-16383
删除集群中的某一个节点,操作步骤如下:
1、 将这个节点上的所有插槽转移到其他节点上;
a) 假设要删除6383这个节点
b) 执行脚本:[root@master redis-cluster]# /opt/redis/redis-3.2.1/src/redis-trib.rb reshard 192.168.56.101:6383
c) 选择需要转移的插槽的数量,因为6383有1000个,所以转移1000个
d) 输入转移的节点的id,我们转移到6380节点:b1939026deb80fedde7bdb22c1df3ecfaa72f608
e) 输入插槽来源id,也就是6383的id:e6d316a0dcd7cfcc98de645d86989d5527e86e55
f) 输入done,开始转移
查看集群结点信息,可以看到6383节点已经没有插槽了:
192.168.56.101:6382> cluster nodes
03596d92625f1b778f29eb4a9128d92809dfd79a 192.168.56.101:6381 master - 0 1468857808764 2 connected 5795-10922
e6d316a0dcd7cfcc98de645d86989d5527e86e55 192.168.56.101:6383 master - 0 1468857807748 4 connected
b1939026deb80fedde7bdb22c1df3ecfaa72f608 192.168.56.101:6380 master - 0 1468857809781 5 connected 0-5794 10923-11255
6aa027917d223b8fedd42893a89fb0e2c07c8b27 192.168.56.101:6382 myself,master - 0 0 3 connected 11256-16383
2、使用redis-trib.rb del-node删除节点
del-node host:port node_id
[root@master redis-cluster]# /opt/redis/redis-3.2.1/src/redis-trib.rb del-node 192.168.56.101:6383 e6d316a0dcd7cfcc98de645d86989d5527e86e55
>>> Removing node e6d316a0dcd7cfcc98de645d86989d5527e86e55 from cluster 192.168.56.101:6383
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
查看集群结点信息:
192.168.56.101:6382> cluster nodes
03596d92625f1b778f29eb4a9128d92809dfd79a 192.168.56.101:6381 master - 0 1468858070962 2 connected 5795-10922
b1939026deb80fedde7bdb22c1df3ecfaa72f608 192.168.56.101:6380 master - 0 1468858071980 5 connected 0-5794 10923-11255
6aa027917d223b8fedd42893a89fb0e2c07c8b27 192.168.56.101:6382 myself,master - 0 0 3 connected 11256-16383
书生参考网络整理
redis知识点
redis快速入门
reids常用命令
redis数据结构
java_API_客户端
Jedis
Tlcache
redis_持久化
AOF
RDB
发布订阅(pub/sub)
redis_事件
redis事务
redis通讯协议
RESP(Redis Serialization Protocol)
redis高可用
redis哨兵
监控(Monitoring) 提醒(Notification) 自动故障迁移(Automatic failover)
redis主从复制
-
- 主从复制
- 从从复制
-
- slave向master发送sync命令;
- master开启子进程执行bgsave写入rdb文件;
- master发送缓存和RDB文件给slave;
- master发送数据发送给slave完成复制;
redis集群(Redis_Cluster)
相关问答
更多-
使用spring-data-redis集群redis,[2023-12-20]
用的是什么集群方式,JedisSentinelPool 还是ShardedJedisPool。 如果用的是前者,配置是需要连接sentinel端口的(默认26379),不是连接redis端口(6379)。 或者把spring相关配置文件贴出来一下。 127.0.0.1:26379 127.0.0.1:26380 127.0.0.1:26381 -
使用spring-data-redis集群redis,[2022-05-20]
用的是什么集群方式,JedisSentinelPool 还是ShardedJedisPool。 如果用的是前者,配置是需要连接sentinel端口的(默认26379),不是连接redis端口(6379)。 或者把spring相关配置文件贴出来一下。redis怎么设置节点为集群节点[2022-07-24]
将src下的可执行命令全部移动到/usr/local/redis/bin/目录下,执行该命令:mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin,然后将配置文件移动到/usr/local/redis/etc/目录下,执行该命令:mv redis.conf /usr/local/redis/etc/。redis集群的理解,怎么动态增加或者删除一个节点,而保证数据不丢失[2021-12-23]
如果是搭建的是主从的话,挂掉主节点,从节点还是可以使用的,但是不会变为从节点,除非是redis集群redis 集群为什么至少3主节点[2023-01-17]
redis sentinel集群为什么要3个以上 3个以上是通过增加 sentinel 节点的个数提高对于故障判断的准确性,因为领导者选举需要至少一半加1个节点,奇数个节点可以在满足该条件的基础上节省一个节点, 简单的说: 如果有3个节点的 sentinel 当一个 redis 出现问题的时候, sentinel 会马上进投票选举,只有选票超过半数才主观下线哦!,最后客观下线 , 所以要3个sentinel节点.正如你在这里看到的,redis现在支持自动分区。 As you can see here, redis supports now automatic partitioning.你很担心使用那些没有通过eval参数传递的键。 Redis Cluster不保证在运行lua脚本的节点中存在这些键,因此其中一些删除命令将失败。 您可以做的一件事是使用通用标签标记所有这些键。 这将保证任何时间节点重新平衡不在进行中,具有相同散列标记的密钥将出现在同一节点上。 请参阅redis群集规范中有关哈希标记的部分。 http://redis.io/topics/cluster-spec (当您进行群集节点重新平衡时,此脚本仍然可能失败,因此您需要弄清楚如何处理该脚本) 也许为该集合中的所有条目添加本 ...如何测试redis集群(how to test redis cluster)[2022-07-18]
正如您所说,您在Redis群集中使用了3个主节点,因此可以清楚地看到,如果其中一个节点将关闭,那么您将收到CLUSTERDOWN错误。 为了避免这些类型的错误并获得高可用性,最好将从属服务器附加到主节点(如此处的官方Redis群集教程中所示)。 有一个理由让奴隶与你的主人联系以获得更高的可用性。 为此,您可以阅读上面Redis群集教程链接中提到的这些行。 Redis集群中有16384个散列槽,为了计算给定密钥的散列槽,我们只需采用密钥模数16384的CRC16。 Redis群集中的每个节点都负责散列槽的子集 ...在spring-data-redis中定义集群节点属性的替代方法(Alternative way to define cluster nodes property in spring-data-redis)[2022-12-01]
如果你在这里查看 ,可以将hostAndPort作为一个丑陋的数组提供,与spring.redis属性组分开; clusterHostAndPorts: - host1:6379 - host1:6380 - host1:6381 测试我的本地,它确实有效,你问的方式不受支持,可以在这里看到,然后在 这里 ,然后在 这里 。 HostAndPort需要用':'分隔。 主机和端口字符串需要指定为host:port If you check here, it is possible to supp ...