Redis集群常见操作

常见设置

设置最大内存

maxmemory 2548000000

如果不需要持久化时,去掉持久化功能

注释掉save行

启动时作用守护进程

daemonize yes

集群配置

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

集群设置

yum -y install ruby ruby-devel rubygems rpm-build 
gem install redis  
redis-trib.rb  create  --replicas  1  10.1.xx.xx:7000 10.1.xx.xx:7000  10.1.xx.xx:7000 10.1.xx.xx:7000  10.1.xx.xx:7000  10.1.xx.xx:7000

常见命令

查看集群状态

redis/src/redis-cli -p 7000 cluster nodes

集群信息

cluster info

查看集群key的分布

./redis-trib.rb info ip:port
响应
10.1.xx.xx:7005 (6960df47...) -> 196 keys | 5461 slots | 1 slaves.
10.1.xx.xx:7003 (d0c98f2e...) -> 204 keys | 5462 slots | 1 slaves.
10.1.xx.xx:7002 (a20e2c37...) -> 216 keys | 5461 slots | 1 slaves.

其它命令

//集群(cluster)
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
//节点(node)
CLUSTER MEET 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
CLUSTER FORGET 从集群中移除 node_id 指定的节点。
CLUSTER REPLICATE 将当前节点设置为 node_id 指定的节点的从节点。
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
//槽(slot)
CLUSTER ADDSLOTS [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
CLUSTER DELSLOTS [slot ...] 移除一个或多个槽对当前节点的指派。
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT NODE 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
CLUSTER SETSLOT MIGRATING 将本节点的槽 slot 迁移到 node_id 指定的节点中。
CLUSTER SETSLOT IMPORTING 从 node_id 指定的节点中导入槽 slot 到本节点。
CLUSTER SETSLOT STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
//键 (key)
CLUSTER KEYSLOT 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT 返回 count 个 slot 槽中的键。

手动故障转义

Redis 集群支持使用 CLUSTER FAILOVER 命令来手动故障转移,必须在故障转移的主服务的其中一个从服务器上执行,执行完成后,则主节点变成从节点。
原理: 连接到正在故障转移的主服务器的客户端停止了,同时主服务器发送复制偏移量给从服务器,等待到达这个偏移量。当复制偏移量到达之后,故障转义就开始了,旧的主服务器被通知切换配置,当客户端在旧主服务器上接触阻塞时,就被重定向到新的主服务器。

恢复master

启动故障节点

在故障节点上执行

 cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
其中3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 为master的节点id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值