城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

CentOS7下RedisCluster高可用集群部署

7月19日 不回头投稿
  Redis从3。0开始支持RedisCluster集群部署,在3。0之前使用哨兵模式来实现Redis集群(利用Sentinel来监控master节点的状态,如果master节点异常,则将其中一台slave切换为master),性能不如RedisCluster。
  本篇博文以Redis7。0。5为例来搭建RedisCluster高可用集群。
  Redis官网:https:redis。io
  Redis下载地址:https:redis。iodownload1、Redis高可用集群模式
  Redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,可以线性扩展到上万个节点(官方推荐不超过1000个节点)。
  2、Redis安装
  首先需要安装Redis,请参考文章CentOS7下Redis7安装riversblog。3、高可用集群部署
  Redis集群需要至少三个master节点,这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,需要用三台机器部署6个redis实例,每台机器一主一从,不过这里为了方便再简化些,使用一台机器部署6个redis实例;
  搭建集群的步骤如下:
  3。1、配置
  1、在第一台机器的optsoftwareredis下创建文件夹rediscluster,然后在其下面分别创建6个文件夾7001、7002、7003、7004、7005、7006;mkdirpoptsoftwareredisredisclustercdoptsoftwareredisredisclustermkdir700170027003700470057006
  2、把之前的redis。conf配置文件copy到7001下,修改如下内容:daemonizeyes后台启动port7001分别对每个机器的端口号进行设置pidfilevarrunredis7001。pid把pid进程号写入pidfile配置的文件diroptsoftwareredisrediscluster7001指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据clusterenabledyes启动集群模式clusterconfigfilenodes7001。conf集群节点信息文件,这里800x最好和port对应上clusternodetimeout10000bind127。0。0。1bind绑定的是自己机器网卡的ip,内网一般可以不配置bind,注释掉即可protectedmodeno关闭保护模式appendonlyyes开启AOF如果要设置密码需要增加如下配置:requirepass123456设置redis访问密码masterauth123456设置集群节点间访问密码,跟上面一致
  再分别将redis。conf配置文件copy至其他文件夹(7002、7003、7004、7005、7006),调整如下配置为对应节点:port700xpidfilevarrunredis700x。piddiroptsoftwareredisrediscluster700xclusterconfigfilenodes700x。conf
  3。2、启动各节点srcredisserveroptsoftwareredisrediscluster7001redis。confsrcredisserveroptsoftwareredisrediscluster7002redis。confsrcredisserveroptsoftwareredisrediscluster7003redis。confsrcredisserveroptsoftwareredisrediscluster7004redis。confsrcredisserveroptsoftwareredisrediscluster7005redis。confsrcredisserveroptsoftwareredisrediscluster7006redis。conf
  使用psefgrepredis查看验证,如下表明各节点启动成功:
  3。3、使用rediscli创建集群
  redis5以前的版本集群是依靠ruby脚本redistrib。rb实现,现在redis7可以使用rediscli来创建集群,创建集群前先关闭防火墙:systemctlstopfirewalld临时关闭防火墙systemctldisablefirewalld禁止开机启动
  创建集群:srcredisclia123456clustercreateclusterreplicas1127。0。0。1:7001127。0。0。1:7002127。0。0。1:7003127。0。0。1:7004127。0。0。1:7005127。0。0。1:7006clusterreplicas后面的1代表每个创建的主服务器节点创建一个从服务器节点,如果没有从,可以设置为0
  a参数访问服务端密码,如果之前配置了访问密码,这里需要加上a参数〔rootiZuf6ib0sh7w9e6el7zwlcZredis7。0。5〕srcredisclia123456clustercreateclusterreplicas1127。0。0。1:7001127。0。0。1:7002127。0。0。1:7003127。0。0。1:7004127。0。0。1:7005127。0。0。1:7006Warning:Usingapasswordwithaoruoptiononthecommandlineinterfacemaynotbesafe。Performinghashslotsallocationon6nodes。。。Master〔0〕Slots05460Master〔1〕Slots546110922Master〔2〕Slots1092316383Addingreplica127。0。0。1:7005to127。0。0。1:7001Addingreplica127。0。0。1:7006to127。0。0。1:7002Addingreplica127。0。0。1:7004to127。0。0。1:7003Tryingtooptimizeslavesallocationforantiaffinity〔WARNING〕SomeslavesareinthesamehostastheirmasterM:d7fdb82e01378603f58ec808b394417d1fec8f0e127。0。0。1:7001slots:〔05460〕(5461slots)masterM:6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7127。0。0。1:7002slots:〔546110922〕(5462slots)masterM:07fbd029398efac634cd564ad442d115af55babe127。0。0。1:7003slots:〔1092316383〕(5461slots)masterS:afc23d25b05f5c7c41fa4008cc715e600bed1a9c127。0。0。1:7004replicates07fbd029398efac634cd564ad442d115af55babeS:02e43e0dea2fec5c2742125d46ae3b24070a1478127。0。0。1:7005replicatesd7fdb82e01378603f58ec808b394417d1fec8f0eS:e846487495c506c756b2a604eff2ed0118db44fe127。0。0。1:7006replicates6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7CanIsettheaboveconfiguration?(typeyestoaccept):yesNodesconfigurationupdatedAssignadifferentconfigepochtoeachnodeSendingCLUSTERMEETmessagestojointheclusterWaitingfortheclustertojoin。。PerformingClusterCheck(usingnode127。0。0。1:7001)M:d7fdb82e01378603f58ec808b394417d1fec8f0e127。0。0。1:7001slots:〔05460〕(5461slots)master1additionalreplica(s)S:02e43e0dea2fec5c2742125d46ae3b24070a1478127。0。0。1:7005slots:(0slots)slavereplicatesd7fdb82e01378603f58ec808b394417d1fec8f0eS:afc23d25b05f5c7c41fa4008cc715e600bed1a9c127。0。0。1:7004slots:(0slots)slavereplicates07fbd029398efac634cd564ad442d115af55babeM:07fbd029398efac634cd564ad442d115af55babe127。0。0。1:7003slots:〔1092316383〕(5461slots)master1additionalreplica(s)S:e846487495c506c756b2a604eff2ed0118db44fe127。0。0。1:7006slots:(0slots)slavereplicates6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7M:6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7127。0。0。1:7002slots:〔546110922〕(5462slots)master1additionalreplica(s)〔OK〕Allnodesagreeaboutslotsconfiguration。Checkforopenslots。。。Checkslotscoverage。。。〔OK〕All16384slotscovered。
  3。4、集群验证
  连接任一客户端验证:srcredisclia123456cp7001
  a访问服务端密码,c表示集群模式,p表示连接端口
  进入7001客户端
  查看集群信息:clusterinfo127。0。0。1:7001clusterinfo
  clusterstate:ok
  clusterslotsassigned:16384
  clusterslotsok:16384
  clusterslotspfail:0
  clusterslotsfail:0
  clusterknownnodes:6
  clustersize:3
  clustercurrentepoch:6
  clustermyepoch:1
  clusterstatsmessagespingsent:504
  clusterstatsmessagespongsent:508
  clusterstatsmessagessent:1012
  clusterstatsmessagespingreceived:503
  clusterstatsmessagespongreceived:504
  clusterstatsmessagesmeetreceived:5
  clusterstatsmessagesreceived:1012
  totalclusterlinksbufferlimitexceeded:0
  查看节点列表:clusternodes127。0。0。1:7001clusternodes
  02e43e0dea2fec5c2742125d46ae3b24070a1478127。0。0。1:700517005slaved7fdb82e01378603f58ec808b394417d1fec8f0e016701322602611connected
  afc23d25b05f5c7c41fa4008cc715e600bed1a9c127。0。0。1:700417004slave07fbd029398efac634cd564ad442d115af55babe016701322592563connected
  07fbd029398efac634cd564ad442d115af55babe127。0。0。1:700317003master016701322582523connected1092316383
  e846487495c506c756b2a604eff2ed0118db44fe127。0。0。1:700617006slave6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7016701322612642connected
  6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7127。0。0。1:700217002master016701322580002connected546110922
  d7fdb82e01378603f58ec808b394417d1fec8f0e127。0。0。1:700117001myself,master016701322600001connected05460
  RedisCluster将所有数据划分为16384个slots(槽位),每个节点负责其中一部分槽位,槽位的信息存储于每个节点中。
  可以看出:
  7001主节点(当前节点)分配了05460槽位,
  7002主节点分配了546110922槽位,
  7003主节点分配了1092316383槽位。
  集群操作:
  集群默认会对key值使用crc16算法进行hash得到槽位值:
  HASHSLOTCRC16(key)mod16384
  当在7001节点执行setkey123命令时,该节点会发现指令的key所在的槽位12539非自己管理的槽位,这时它会向客户端发送一个跳转指令携带目标操作的节点地址,告诉客户端去连这个节点去处理数据,如下:
  Redirectedtoslot〔12539〕locatedat127。0。0。1:7003
  3。5、关闭集群srcredisclia123456ch127。0。0。1p7001shutdownsrcredisclia123456ch127。0。0。1p7002shutdownsrcredisclia123456ch127。0。0。1p7003shutdownsrcredisclia123456ch127。0。0。1p7004shutdownsrcredisclia123456ch127。0。0。1p7005shutdownsrcredisclia123456ch127。0。0。1p7006shutdown
  如果没有设置访问密码,则省略a参数
  重新启动集群:1、先关闭集群节点
  2、删除集群相关文件
  3、启动集群节点
  4、创建集群
  原文链接:RedisCluster高可用集群部署riversblog
投诉 评论 转载

别爱一个让你廉价的人点击右上方关注,解锁每天新故事。最近一直在单曲循环《到此为止》,很喜欢里面的一段歌词:从今以后旁观你的故事需要怎么调试都是番外我个人的事从今以后……为人民服务是我们坚如磐石的信念一方向迷失看到几则消息,深感痛心。曾经都是位高权重的领导,本来可以用手中权力为人民谋幸福,但他们却将党和人民赋予的权力用错了地方,迷失了方向。一味想着自己的小圈,无止境的滿足自己的一己私……CentOS7下RedisCluster高可用集群部署Redis从3。0开始支持RedisCluster集群部署,在3。0之前使用哨兵模式来实现Redis集群(利用Sentinel来监控master节点的状态,如果master节点……小民宿撬动大市场上海浦东今年力争新增200家持证民宿21世纪经济报道记者张梓桐实习生曾悦上海报道近年来,文旅产业成为赋能乡村振兴的重点领域,我国政府针对乡村文旅产业建设发展出台了多项政策举措。2022年,中央一号文件……勇士新闻6记三分,正负值19!科尔的选择没错,你比普尔更适合前言回到大通中心主场的勇士队,终于一扫前几场客场比赛的3连败阴霾。库里的复出,没能让勇士在5连胜的基础上续上势头,相反,阵容的重新融合让勇士瞬间迷失了方向。他们甚至输给了……体验服3。17号更新登录领3000点券,云缨张飞关羽集体增强3月17日,王者荣耀体验服进行了一次版本更新,云缨、关羽和张飞迎来了增强。一、体验服登录领点券3月17日更新后3月20日,登陆体验服可领取3000点券以及多张皮肤优……GalaxyS23Ultra老用户评测三代机皇的演变【【【前言:这是一篇出自三星老粉的体验】】】对于三星GalaxyS23系列新机,我们三易生活此前其实已经上线了多篇内容,但可能有的朋友已经注意到,此前我们一直没有带来对新……今日NBA分析76人vs热火G1大家好,昨天猜的勇士比赛很可惜,勇士虽然赢球,但是没能赢3分以上,这场比赛真是很激烈精彩,今天猜一场东部的半决赛G1,76人vs热火的比赛。NBA费城76人vs迈阿密热火……周一见!勇士西部半决赛对手出炉,乔治卡尔看好285巨星晋级北京时间5月1日,NBA季后赛正在进行,其中洛杉矶湖人已提交面试密尔沃基雄鹿助教达尔文汉姆的申请,多支球队预计,米切尔最快会在这个休赛期要求被交易。就在刚刚,恭喜德雷蒙德格林,……五一假期预订高峰提前到来曹岩、韩文旸央视新闻记者从正在召开的文化和旅游部新闻发布会现场获悉,近期,全国文化和旅游行业呈现出快速复苏的良好势头,有关数据显示,一季度全国演出市场供给和需求市场强势上……乌尔善执导电影封神已经过审,有望暑假上映!乌尔善导演的《封神》目前已经过审,预计今年暑假上,这部电影压了有三五年了,终于又有消息,据说不含宣发成本投资了24个亿,那就是说票房至少80亿才能回本?乌尔善采访时曾说,如果这……鲜花杯火爆社交网络!茶饮品牌借势内卷,行业分析师不可持续,注去奶茶店制作一款鲜花杯,成为这个春天新的浪漫密码。最近,不少年轻人带着玫瑰花,到奶茶店要求店员制作鲜花杯。在透明奶茶杯里装上冰块、加入纯净水,再把鲜花插入、封口,高颜值鲜……
中国医药公告中超最新积分榜排名三镇泰山最后一轮争冠,3队提前降级2022走红军走过的路徒步穿越系列活动(新晃站)举行维密秀女模特穿过的走秀内衣都是怎么处理的?大胆美,大胆爱,不负岁月张本智和4比0完胜奥恰洛夫,连续击败三位德乒主力,率先晋级决大S具俊晔婚后首度同框,又见小S陪同又一家国产芯片企业将量产5G芯片,5G手机可望王者归来水街悠悠,桂花幽幽关察者说丨中国队的噩梦在世界杯上演了人间挺好,是我不好2022年泰娱男星酬劳排行榜Top6,MarioWeir上榜

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁