当前位置: 首页 > wzjs >正文

简单企业网站模板免费定制网站制作

简单企业网站模板免费,定制网站制作,网站栏目设计方案,网页设计实训总结1500字Redis分片集群(Redis Cluster)是Redis官方提供的分布式解决方案,它允许数据自动分布在多个Redis节点上,提供高性能、高可用的Redis服务。主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题高并发写的问…

Redis分片集群(Redis Cluster)是Redis官方提供的分布式解决方案,它允许数据自动分布在多个Redis节点上,提供高性能、高可用的Redis服务。

主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:

  • 海量数据存储问题

  • 高并发写的问题

使用分片集群可以解决上述问题,如图:

1.环境

目的:

搭建redis的分片集群(三主三从)

centos7、redis6.2.4、MobaXterm

IPPORT角色
192.168.206.1807001master
192.168.206.1807002master
192.168.206.1807003master
192.168.206.1807004slave
192.168.206.1807005slave
192.168.206.1807006slave

2.搭建步骤

1.创建挂载目录和添加配置文件

使用命令创建挂载目录:

mkdir -p redis-demo/cluster7001/conf redis-demo/cluster7001/data \
redis-demo/cluster7002/conf redis-demo/cluster7002/data \
redis-demo/cluster7003/conf redis-demo/cluster7003/data \
redis-demo/cluster7004/conf redis-demo/cluster7004/data \
redis-demo/cluster7005/conf redis-demo/cluster7005/data \
redis-demo/cluster7006/conf redis-demo/cluster7006/data

添加配置文件redis.conf

vi redis-demo/cluster7001/conf/redis.conf

port 7001
#redis 访问密码
#requirepass 123456
#redis 访问Master节点密码
#masterauth 123456
# 关闭保护模式
protected-mode no
# 开启集群
cluster-enabled yes
# 集群节点配置
cluster-config-file nodes.conf
# 超时
cluster-node-timeout 5000
# 绑定地址
bind 0.0.0.0
# 让redis后台运行
daemonize no
# 注册的实例ip
replica-announce-ip 192.168.206.180
# 保护模式
protected-mode no
# 数据库数量
databases 1
# 日志文件路径
logfile "/data/redis.log"

2.创建Redis容器

创建网络:

docker network create redis-cluster

创建容器:

其中:-p 17001:17001为Redis 集群总线端口(节点间通信用,通常是 服务端口 + 10000)。必须添加,否则无法创建集群。

docker run -d \
--name cluster7001 \
--net redis-cluster \
-p 7001:7001 \
-p 17001:17001 \
--privileged=true \
-v /home/hl/redis-demo/cluster7001/conf/redis.conf:/etc/redis/redis.conf \
-v /home/hl/redis-demo/cluster7001/data:/data \
redis:6.2.4 redis-server /etc/redis/redis.conf

查看容器:

docker ps

创建成功以后每个节点的data目录下会自动生成nodes.conf文件:

3.配置集群(Redis5.0以后 )

使用下述命令进入随便一个节点中并执行集群配置命令:

docker exec -it cluster7001 /bin/bash

redis-cli --cluster create --cluster-replicas 1 192.168.206.180:7001 192.168.206.180:7002 192.168.206.180:7003 192.168.206.180:7004 192.168.206.180:7005 192.168.206.180:7006

命令说明:

  • redis-cli --cluster或者./redis-trib.rb:代表集群操作命令

  • create:代表是创建集群

  • --replicas 1或者--cluster-replicas 1 :指定集群中每个master的副本个数为1,此时节点总数 ÷ (replicas + 1) 得到的就是master的数量。因此节点列表中的前n个就是master,其它节点都是slave节点,随机分配到不同master

如下图:集群搭建成功,哈希槽也是16384个

3.测试

3.1 散列插槽

使用redis-cli -c -p 7001连接redis

如下图:

验证了数据是依据key的有效部分经过CRC16处理存储到哈希槽中,每个节点包含相应范围的哈希槽。

若想要相同的数据结构存储到同一节点上,可以设置{}相同的有效部分。

3.2 集群伸缩

1.新增节点

重新创建并启动一个容器,使用下述命令将7007加入到集群

redis-cli --cluster add-node  192.168.206.180:7007 192.168.206.180:7001

最后我们可以看到7007已经加入到了集群:

查看集群:

redis-cli -p 7001 cluster nodes

新加入的节点默认为master节点,且并没有自动分配插槽。

2.转移插槽 

我们计划将7001的0-3000的插槽转移给7007:

建立连接:

redis-cli --cluster reshard 192.168.206.180:7001

询问要移动多少个插槽,我们计划是3000个:

哪个node来接收这些插槽?

插槽是从哪里移动过来的?

  • all:代表全部,也就是三个节点各转移一部分

  • 具体的id:目标节点的id

  • done:没有了

确认要转移吗?输入yes:

下面就转移完成了,查看集群信息:

原来7001中的数据也随着插槽转移到了7007

3.3 故障转移

当集群中有一个master宕机

1.自动故障转移

        自动故障转移类似于哨兵机制,当节点宕机,其他节点认为其客观下线后会重新选取一个slave为新的master,且恢复后会自动下降为slave:

停止容器,如下图7001确认下线,7006被提升为新的master:

重启容器,7001上线,自动下降为slave:

2.手动故障转移

利用cluster failover命令可以手动让集群中的某个master宕机,切换到执行cluster failover命令的这个slave节点,实现无感知的数据迁移。其流程如下:

这种failover命令可以指定三种模式:

  • 缺省:默认的流程,如图1~6歩

  • force:省略了对offset的一致性校验

  • takeover:直接执行第5歩,忽略数据一致性、忽略master状态和其它master的意见

我们将在7001这个slave节点执行手动故障转移,使其重新成为master,7006下降为slave

步骤如下:

1)利用redis-cli连接7001这个节点

2)执行cluster failover命令


文章转载自:

http://yWEzP2fQ.qgmwt.cn
http://jmGki0I8.qgmwt.cn
http://lDlzc45W.qgmwt.cn
http://WsrcJMI8.qgmwt.cn
http://BtGTEsgp.qgmwt.cn
http://Q7mAAFEY.qgmwt.cn
http://cFyDg7Go.qgmwt.cn
http://4tbw2hT5.qgmwt.cn
http://GrFVdINS.qgmwt.cn
http://EsbqvzT5.qgmwt.cn
http://yTSleNaw.qgmwt.cn
http://mFXXthqR.qgmwt.cn
http://awJAWdz1.qgmwt.cn
http://RXMdRKSR.qgmwt.cn
http://avd6LloI.qgmwt.cn
http://7JSWNP4P.qgmwt.cn
http://nDMI7PNq.qgmwt.cn
http://nRWdio3K.qgmwt.cn
http://SpaS2P9r.qgmwt.cn
http://7zr8Iu28.qgmwt.cn
http://KdcYylpY.qgmwt.cn
http://BOVXm4lh.qgmwt.cn
http://IN8hqwaW.qgmwt.cn
http://2jsiiFxQ.qgmwt.cn
http://ufxxwkBP.qgmwt.cn
http://du8YhWdD.qgmwt.cn
http://2ptsJKmR.qgmwt.cn
http://lv3s0BeX.qgmwt.cn
http://E1ahYmrS.qgmwt.cn
http://p6JYKMf1.qgmwt.cn
http://www.dtcms.com/wzjs/744207.html

相关文章:

  • vue 直播网站开发游戏代理加盟
  • 浙江省建设厅网站 学时福建建设银行招聘网站
  • 网站建设公司生存眼科医院网站优化服务商
  • 企业网站建设及运营现状分析手机版网页游戏
  • 蓟州区建设银行官方网站淮北专业三合一网站开发
  • 苏州公司网站公司对网站排名如何做绩效
  • 杭州企业做网站市场部网页设计西安
  • 在线制作网站公章会员管理系统代码
  • 一个简单的动态页面网站需要数据库吗网站开发中背景图片怎么弄全屏
  • 做移动端网站软件开发wordpress数据库名字
  • 做伊瑞尔竞技场的网站网站做的比较好的公司吗
  • 企业营销网站建设规划wordpress 增加站长统计
  • 建设医疗网站有啥网站是专做时尚穿搭
  • 网站开发属于什么系统阎良区建设局网站
  • 做网站谁家好net的网站建设
  • 网站图标 psd哈尔滨网络建设网络优化
  • 网站备案号格式说明书钢丝网片每平米价格
  • 南京做网站建设的公司排名海口房产网站建设
  • 网站建设需要什么研究条件北京专业公司建网站平台
  • 怎样用别人的网站做修改种植类网站模板
  • 请问电商是做什么的怎样做网站优化 知乎
  • 长沙的汽车网站建设外卖平台做网站
  • 网站网站建设培训网站管理登录系统
  • 长沙网络建站西安高端网站设计公司
  • 湘潭网站建设设计谷歌paypal官网登录入口
  • 广州正规网站制作维护如何写一份食品的网站建设规划
  • 市住房城乡建设网站中国医生电影网络营销推广方法
  • 电信宽带做网站服务器做网站公司怎么赚钱吗
  • 视频网站源码下载wordpress前台压缩图片
  • 网站建设地址 北京windows系统优化软件排行榜