范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

CentOS7下RedisCluster高可用集群部署

  Redis从3.0开始支持Redis Cluster集群部署,在3.0之前使用哨兵模式来实现Redis集群(利用Sentinel来监控master节点的状态,如果master节点异常,则将其中一台slave切换为master),性能不如Redis Cluster。
  本篇博文以Redis 7.0.5为例来搭建Redis Cluster高可用集群。
  Redis官网:https://redis.io
  Redis下载地址:https://redis.io/download/1、Redis高可用集群模式
  Redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,可以线性扩展到上万个节点(官方推荐不超过1000个节点)。
  2、Redis安装
  首先需要安装Redis,请参考文章 CentOS7下Redis7安装 - river"s blog。3、高可用集群部署
  Redis集群需要至少三个master节点,这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,需要用三台机器部署6个redis实例,每台机器一主一从,不过这里为了方便再简化些,使用一台机器部署6个redis实例;
  搭建集群的步骤如下:
  3.1、配置
  1、在第一台机器的/opt/software/redis下创建文件夹redis‐cluster,然后在其下面分别创建6个文件夾7001、7002、7003、7004、7005、7006;mkdir ‐p /opt/software/redis/redis‐cluster cd /opt/software/redis/redis‐cluster mkdir 7001 7002 7003 7004 7005 7006
  2、把之前的redis.conf配置文件copy到7001下,修改如下内容:daemonize yes # 后台启动 port 7001 # 分别对每个机器的端口号进行设置 pidfile /var/run/redis_7001.pid # 把pid进程号写入pidfile配置的文件 dir /opt/software/redis/redis‐cluster/7001/ # 指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据 cluster‐enabled yes # 启动集群模式 cluster‐config‐file nodes‐7001.conf # 集群节点信息文件,这里800x最好和port对应上 cluster‐node‐timeout 10000 # bind 127.0.0.1 # bind绑定的是自己机器网卡的ip,内网一般可以不配置bind,注释掉即可 protected‐mode no #关闭保护模式 appendonly yes # 开启AOF # 如果要设置密码需要增加如下配置: requirepass 123456 # 设置redis访问密码 masterauth 123456 # 设置集群节点间访问密码,跟上面一致
  再分别将redis.conf配置文件copy至其他文件夹(7002、7003、7004、7005、7006),调整如下配置为对应节点:port 700x pidfile /var/run/redis_700x.pid dir /opt/software/redis/redis‐cluster/700x/ cluster‐config‐file nodes‐700x.conf
  3.2、启动各节点src/redis-server /opt/software/redis/redis-cluster/7001/redis.conf src/redis-server /opt/software/redis/redis-cluster/7002/redis.conf src/redis-server /opt/software/redis/redis-cluster/7003/redis.conf src/redis-server /opt/software/redis/redis-cluster/7004/redis.conf src/redis-server /opt/software/redis/redis-cluster/7005/redis.conf src/redis-server /opt/software/redis/redis-cluster/7006/redis.conf
  使用 ps -ef | grep redis 查看验证,如下表明各节点启动成功:
  3.3、使用redis-cli创建集群
  redis5以前的版本集群是依靠ruby脚本redis‐trib.rb实现,现在redis7可以使用redis-cli来创建集群,创建集群前先关闭防火墙:systemctl stop firewalld # 临时关闭防火墙 systemctl disable firewalld # 禁止开机启动
  创建集群:src/redis-cli -a 123456 --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006–cluster-replicas 后面的 1 代表每个创建的主服务器节点创建一个从服务器节点,如果没有从,可以设置为0
  -a参数 访问服务端密码,如果之前配置了访问密码,这里需要加上-a参数[root@iZuf6ib0sh7w9e6el7zwlcZ redis-7.0.5]# src/redis-cli -a 123456 --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 Warning: Using a password with "-a" or "-u" option on the command line interface may not be safe. >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 127.0.0.1:7005 to 127.0.0.1:7001 Adding replica 127.0.0.1:7006 to 127.0.0.1:7002 Adding replica 127.0.0.1:7004 to 127.0.0.1:7003 >>> Trying to optimize slaves allocation for anti-affinity [WARNING] Some slaves are in the same host as their master M: d7fdb82e01378603f58ec808b394417d1fec8f0e 127.0.0.1:7001 slots:[0-5460] (5461 slots) master M: 6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7 127.0.0.1:7002 slots:[5461-10922] (5462 slots) master M: 07fbd029398efac634cd564ad442d115af55babe 127.0.0.1:7003 slots:[10923-16383] (5461 slots) master S: afc23d25b05f5c7c41fa4008cc715e600bed1a9c 127.0.0.1:7004 replicates 07fbd029398efac634cd564ad442d115af55babe S: 02e43e0dea2fec5c2742125d46ae3b24070a1478 127.0.0.1:7005 replicates d7fdb82e01378603f58ec808b394417d1fec8f0e S: e846487495c506c756b2a604eff2ed0118db44fe 127.0.0.1:7006 replicates 6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7 Can I set the above configuration? (type "yes" to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join .. >>> Performing Cluster Check (using node 127.0.0.1:7001) M: d7fdb82e01378603f58ec808b394417d1fec8f0e 127.0.0.1:7001 slots:[0-5460] (5461 slots) master 1 additional replica(s) S: 02e43e0dea2fec5c2742125d46ae3b24070a1478 127.0.0.1:7005 slots: (0 slots) slave replicates d7fdb82e01378603f58ec808b394417d1fec8f0e S: afc23d25b05f5c7c41fa4008cc715e600bed1a9c 127.0.0.1:7004 slots: (0 slots) slave replicates 07fbd029398efac634cd564ad442d115af55babe M: 07fbd029398efac634cd564ad442d115af55babe 127.0.0.1:7003 slots:[10923-16383] (5461 slots) master 1 additional replica(s) S: e846487495c506c756b2a604eff2ed0118db44fe 127.0.0.1:7006 slots: (0 slots) slave replicates 6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7 M: 6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7 127.0.0.1:7002 slots:[5461-10922] (5462 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
  3.4、集群验证
  连接任一客户端验证:src/redis-cli -a 123456 -c -p 7001
  ‐a访问服务端密码,‐c表示集群模式,-p表示连接端口
  进入7001客户端
  查看集群信息:cluster info127.0.0.1:7001> cluster info
  cluster_state:ok
  cluster_slots_assigned:16384
  cluster_slots_ok:16384
  cluster_slots_pfail:0
  cluster_slots_fail:0
  cluster_known_nodes:6
  cluster_size:3
  cluster_current_epoch:6
  cluster_my_epoch:1
  cluster_stats_messages_ping_sent:504
  cluster_stats_messages_pong_sent:508
  cluster_stats_messages_sent:1012
  cluster_stats_messages_ping_received:503
  cluster_stats_messages_pong_received:504
  cluster_stats_messages_meet_received:5
  cluster_stats_messages_received:1012
  total_cluster_links_buffer_limit_exceeded:0
  查看节点列表:cluster nodes127.0.0.1:7001> cluster nodes
  02e43e0dea2fec5c2742125d46ae3b24070a1478 127.0.0.1:7005@17005 slave d7fdb82e01378603f58ec808b394417d1fec8f0e 0 1670132260261 1 connected
  afc23d25b05f5c7c41fa4008cc715e600bed1a9c 127.0.0.1:7004@17004 slave 07fbd029398efac634cd564ad442d115af55babe 0 1670132259256 3 connected
  07fbd029398efac634cd564ad442d115af55babe 127.0.0.1:7003@17003 master - 0 1670132258252 3 connected 10923-16383
  e846487495c506c756b2a604eff2ed0118db44fe 127.0.0.1:7006@17006 slave 6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7 0 1670132261264 2 connected
  6d50abfd77cb7d7bda6ee2b209e7d8e6029310e7 127.0.0.1:7002@17002 master - 0 1670132258000 2 connected 5461-10922
  d7fdb82e01378603f58ec808b394417d1fec8f0e 127.0.0.1:7001@17001 myself,master - 0 1670132260000 1 connected 0-5460
  Redis Cluster将所有数据划分为16384个slots(槽位),每个节点负责其中一部分槽位,槽位的信息存储于每个节点中。
  可以看出:
  7001主节点(当前节点)分配了 0-5460 槽位,
  7002主节点分配了 5461-10922 槽位,
  7003主节点分配了 10923-16383 槽位。
  集群操作:
  集群默认会对 key 值使用 crc16 算法进行 hash 得到槽位值:
  HASH_SLOT = CRC16(key) mod 16384
  当在7001节点执行 set key 123 命令时, 该节点会发现指令的 key 所在的槽位12539非自己管理的槽位,这时它会向客户端发送一个跳转指令携带目标操作的节点地址,告诉客户端去连这个节点去处理数据,如下:
  -> Redirected to slot [12539] located at 127.0.0.1:7003
  3.5、关闭集群src/redis‐cli ‐a 123456 -c ‐h 127.0.0.1 ‐p 7001 shutdown src/redis‐cli ‐a 123456 -c ‐h 127.0.0.1 ‐p 7002 shutdown src/redis‐cli ‐a 123456 -c ‐h 127.0.0.1 ‐p 7003 shutdown src/redis‐cli ‐a 123456 -c ‐h 127.0.0.1 ‐p 7004 shutdown src/redis‐cli ‐a 123456 -c ‐h 127.0.0.1 ‐p 7005 shutdown src/redis‐cli ‐a 123456 -c ‐h 127.0.0.1 ‐p 7006 shutdown
  如果没有设置访问密码, 则省略-a参数
  重新启动集群:1、先关闭集群节点
  2、删除集群相关文件
  3、启动集群节点
  4、创建集群
  原文链接:Redis Cluster高可用集群部署 - river"s blog

泉州一爷爷开大奔送孙女上学,幼儿园居然报警了!原因太尴尬家长把孩子送错学校网上的乌龙段子竟然就发生在我们身边开学已经有一段时间还有粗心的家长闹出了乌龙石狮的一位爷爷竟把上幼儿园的孙女送错了学校9月21日上午,家长陆续把孩子送往学校。在位缅甸若开军警加强各个镇区公路检查力度,多地检查站出现拥堵近期,缅甸若开军警加强了各个镇区公路检查力度,在开展封锁检查以来,多地检查站出现了严重拥堵情况。因出行时间延长,若开当地居民对此吐槽不断。从当地居民处得知,不仅仅是省邦地区交界处,久保建英我是一个话痨最希望和罗纳尔迪尼奥一起踢球直播吧9月26日讯近日,久保建英参加了皇家社会的问答游戏,期间他表示最希望和罗纳尔迪尼奥一起踢球。不踢足球的时候喜欢做些什么我喜欢说话,非常地喜欢,什么都聊。在皇社主场举行的新援介福州竟藏着一个鬼市?凌晨后出没,天亮就消失,买卖不问来路鬼市充满了神秘感,也是我国众多市场中,最为特别的一个了,从北京的潘家园,到广州的天光墟,传承了数百年的鬼市,至今散发着无可抵挡的魅力。据说,鬼市在宋代就开始出现了,而在明清时期,达李莅,被双开中国基金报颜颖接受调查8个月后,中国进出口银行北京分行原行长李莅被双开!9月26日,中央纪委国家监委网站信息显示,中央纪委国家监委驻中国进出口银行纪检监察组云南省监委对中国进出口银全国首家!达芬奇这一中心落地来源器械之家,未经授权不得转载,且24小时后方可转载。9月23日,全国首家达芬奇机器人临床教育中心在天津市肿瘤医院正式成立。天津市肿瘤医院达芬奇机器人临床教育中心授牌仪式天津市肿瘤朝鲜观察,朝鲜女人为什么喜欢穿高跟鞋?走在平壤的大街上,我特意关注了一下朝鲜姑娘的穿着打扮。到朝鲜之前,我一直以为朝鲜姑娘都是素面朝天,实际上并非如此。朝鲜姑娘非常喜欢化妆,甚至十几岁的少女,也会化妆。朝鲜姑娘不但喜欢文案累了我们就一起逃我其实并不大方我的爱也需要回应。他用最下流的话骂我的时候我愣住了我想起那天晚上他害羞的问我可不可以和他在一起如果钟真的能反方向我想我们不要再遇到了怀念是对思念者的惩罚你淋着雨爱他他我心里住着的人是你,请你不要伤我的心我心里住着的人是你,请你不要伤我的心不管这个世界如何待我,我都会因为这个世界有你而快乐!只要你一直爱我,我愿意改变自己,做个听话温柔可爱的小绵羊,让你有福可享,让你犹如生活在天堂。走进周宁抽水蓄能电站李典义走进周宁抽水蓄能电站文李典义清亮明静的湖面,远远望去犹如一颗光华灿烂的绿宝石镶嵌在群峰之巅,天上的流云如轻纱飘渺,山间的云雾似河流奔腾。微风拂过湖面,掀起层层涟漪,在朝阳的照耀下,瑞金参观沙洲坝和红井从江西抚州到福建长汀途中,路经瑞金,便在瑞金的沙洲坝(因为当年毛泽东曾率红军战士在这里给农民打了一口井,也被叫做红井)红色景区停车参观两小时。上世纪八十年代初,作为中共党史专业的学
你认为谁是春晚小品上永远的神?答让观众开怀大笑才是神!1评判小品相声的硬道理让观众开怀大笑。2真正让我情不自禁笑的演员大兵老师常远侯振鹏郭阳郭亮。我认为不是赵本山,宋丹丹。赵丽蓉绝对可以称为春晚小品史上永远的神物业按业主房子的每平米收费合理吗?不合理!但又能怎样,一户二户你也翻不了船,投诉也不会有人理你。物业的存在,就是想方设法让你多掏钱好养活它们。应该按公摊面积部分收费,因为物业只负责公摊面积部分,其它一律不管。做个极现在大三(药学专业)面临被退学了,父母压力很大,自己压力也很大,退学之后我还能考什么证书吗?好不容易上到了大三,却面临着退学,对学生本人来讲,应该说是自作自受不过,如果真的能感觉到有压力,那么这学生应该还有救如果面临退学,学生仍然还觉得无所谓的话,那才是真的可怕。当然,好北京最难考的211大学是哪几所?全国116所211高校,北京市一共有26所,在国内211分布中是最多的一个城市。像国内顶尖学府清华北大都位于北京市,以下是北京市所有211高校的名单所谓哪个学校难考一些,我个人觉得姜昆如果商演,门票在北京能卖多少钱?我就寥寥数语说两句吧。第一他商演有人看嘛?当然肯定有,比如曲艺体制内的为了面子也要去听一听,第二老郭的段子基本都是贴近平民话的,而且不拘小节说出来的段子包袱多,而姜的相声比较有所谓1000元左右的智能手机,买给50多岁的父母用,有什么性价比高的推荐?一般父母都不会玩儿游戏的,只是刷刷抖音聊聊微信以日常使用更加注重续航性能,其他不是很重要,所以选择以下几款手机供你参考。荣耀9X荣耀9X现在的销量非常火,主要是处理器比较给力,麒麟为人父母,你最欣赏自己的孩子身上哪一点?作为父母,我们都望子成龙,望女成凤。中国父母几千年以来对自己孩子的期盼都是如此,因而产生了棍棒之下出孝子孟母三迁画荻教子等很多经典成语和故事。然而,现实中,很多家长充满了焦虑感,看黄圣依是如何走红的?黄圣依出生于书香门第,父亲是大学教授,毕业于清华大学,1990年代初留学美国,系江夏黄氏一族,她的母亲是新民晚报编辑,她的表舅是著名经济学家吴敬琏。受到良好家教的黄圣依从小气质不凡12强第7轮中国0比2输给日本,主教练说要负的哪些全部责任?中国男足输球谁也不用负责任,自打金元足球开始就衰落了,就是神仙也没办法,没好了。是中国的现行体制问题跟教练关系不大谁也不愿。不输球才不正常的!把工资收入全部没收!输球太正常了。不输中国男足能不能打进世界杯的关键因素是什么?中国男子足球队又让世界笑了一回。还是解散吧!别在丢人了。大过年的,还让人过年吗?流泪衰捂脸打脸石化得意笑哭泪奔恐惧求抱抱听歌看呆无辜黑脸绿帽子骷髅刀这个问题不好回答。说真话会得罪很男足又踢了个寂寞,什么时候能上一个新台阶?整体实力不济,换谁当教头都干着急,中国足协无大动作改革,上台阶我看是漫漫长路难有时!等到你的孙子的儿子那时候可能有点改善吧。本来就是没有希望的,算是去完成任务吧。足球这项运动是群体