Redis集群的补充

(1)问题:

  • redis提供的服务QPS可以达到10万/秒,当前业务QPS已经达到20万/秒

(QPS等概念:https://www.cnblogs.com/longxiaojiangi/p/9259745.html)

  • 内存单机容量达到256G,当前业务需求内存容量1T

2)集群架构

概念:集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果

作用:

  • 分散单台服务器的访问压力,实现负载均衡
  • 分散单台服务器的存储压力,实现可扩展性
  • 降低单台服务器宕机带来的业务灾难

(3)Redis集群结构设计

 

 

 集群结构搭建

(1)搭建的两种方式:

  1. 原生安装(单条命令)
  • 配置服务器(3主3从)
  • 建立通信(Meet)
  • 分槽(Slot)
  • 搭建主从(master-slave)
  1. 工具安装(批处理)

2)Cluster配置

# 添加节点

cluster-enabled yes|no

# cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容

cluster-config-file <filename>

#节点服务响应超时时间,用于判定该节点是否下线或切换为从节点

cluster-node-timeout <milliseconds>

# master连接的slave最小数量

cluster-migration-barrier <count>

 

(3)Cluster节点操作命令

# 查看集群节点信息

cluster nodes

# 进入一个从节点 redis,切换其主节点

cluster replicate <master-id>

# 发现一个新节点,新增主节点

cluster meet ip:port

# 忽略一个没有solt的节点

cluster forget <id>

# 手动故障转移

cluster failover

 

(4)redis-trib命令(5.0以前命令,现在是用redis-cli

# 添加节点

redis-trib.rb add-node

# 删除节点

redis-trib.rb del-node

# 重新分片

redis-trib.rb reshard

 

(5)实验步骤(原生命令的配置)

创建六个redis,三主三从,配置文件如下:

port 6379

# 添加节点

cluster-enabled yes

# cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容

cluster-config-file nodes-6379.conf

#节点服务响应超时时间,用于判定该节点是否下线或切换为从节点(10000是10秒)

cluster-node-timeout 10000

复制并修改配置文件(sed 命令是利用脚本来处理文本文件

[root@server redis]# sed "s/6379/6380/g" redis-6379.conf >redis-6380.conf

[root@server redis]# sed "s/6379/6381/g" redis-6379.conf >redis-6381.conf

[root@server redis]# sed "s/6379/6381/g" redis-6379.conf >redis-6381.conf

[root@server redis]# sed "s/6379/6382/g" redis-6379.conf >redis-6382.conf

[root@server redis]# sed "s/6379/6383/g" redis-6379.conf >redis-6383.conf

[root@server redis]# sed "s/6379/6384/g" redis-6379.conf >redis-6384.conf

分别启动

[root@server redis]# redis-server /etc/redis/redis-6379.conf

查看启动情况

添加节点(命令后面的1,代表一主一从,如果你要一主二从,设置为2)

[root@server redis]# redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1

连接集群存取数据

redis-cli -c -p 6379

4. 主从下线和主从切换

(1)从服务器下线,不影响

(2)主服务器下线,从服务器顶替

(3)如果原主服务器重新上线,就变从服务器了

5. 常见问题及解决办法

(1)问题一:[ERR] Node 192.168.83.128.6379 is not empty.Either the node already knows other nodes(check with CLUSTER NODES) or contains some key in database 0.

需要停止redis服务,将这个服务器中redis的备份,nodes-6379.conf删除,再重新启动redis服务器,及部署集群

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值