redis cluster mysql_redis cluster

redis cluster和小哨兵组合 高可用方案是一种全自动的办法

cluster 主要编辑3个参数

cluster-enabled yes #开启cluster,去掉注释

cluster-config-file nodes.conf

cluster-node-timeout 15000

启动server

[redis@redis02 ~]$ cat s.sh

pkill -9 redis

redis-server /u01/redis/redis-5.0.5/conf/7001/7001.conf

redis-server /u01/redis/redis-5.0.5/conf/7003/7003.conf

redis-server /u01/redis/redis-5.0.5/conf/7004/7004.conf

ps -ef|grep redis-server|grep -v grep

[redis@redis02 ~]$ sh s.sh

redis 15089 1 0 22:07 ? 00:00:00 redis-server 127.0.0.1:7001 [cluster]

redis 15094 1 0 22:07 ? 00:00:00 redis-server 127.0.0.1:7003 [cluster]

redis 15099 1 0 22:07 ? 00:00:00 redis-server 127.0.0.1:7004 [cluster]

创建cluster,redis5.0开始不再使用ruby搭建集群

[redis@redis01 ~]$ redis-cli --cluster create 192.168.20.201:7001 192.168.20.201:7002 192.168.20.202:7001

>>> Performing hash slots allocation on 3 nodes...

Master[0] -> Slots 0 - 5460

Master[1] -> Slots 5461 - 10922

Master[2] -> Slots 10923 - 16383

M: 797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001

slots:[0-5460] (5461 slots) master

M: 4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002

slots:[10923-16383] (5461 slots) master

M: fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001

slots:[5461-10922] (5462 slots) master

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 192.168.20.201:7001)

M: 797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001

slots:[0-5460] (5461 slots) master

M: fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001

slots:[5461-10922] (5462 slots) master

M: 4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002

slots:[10923-16383] (5461 slots) master

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

查看cluster信息

[redis@redis01 ~]$ redis-cli -h 192.168.20.201 -p 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:3

cluster_size:3

cluster_current_epoch:3

cluster_my_epoch:1

cluster_stats_messages_ping_sent:256

cluster_stats_messages_pong_sent:281

cluster_stats_messages_sent:537

cluster_stats_messages_ping_received:279

cluster_stats_messages_pong_received:256

cluster_stats_messages_meet_received:2

cluster_stats_messages_received:537

[redis@redis01 ~]$ redis-cli -h 192.168.20.201 -p 7001 cluster nodes

fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001@17001 master - 0 1568682616539 3 connected 5461-10922

4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002@17002 master - 0 1568682618047 2 connected 10923-16383

797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001@17001 myself,master - 0 1568682615000 1 connected 0-5460

添加从节点

[redis@redis01 ~]$ redis-cli --cluster add-node 192.168.20.201:7003 192.168.20.202:7001 --cluster-slave

>>> Adding node 192.168.20.201:7003 to cluster 192.168.20.202:7001

>>> Performing Cluster Check (using node 192.168.20.202:7001)

M: fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001

slots:[5461-10922] (5462 slots) master

M: 4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002

slots:[10923-16383] (5461 slots) master

M: 797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001

slots:[0-5460] (5461 slots) master

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

Automatically selected master 192.168.20.202:7001

>>> Send CLUSTER MEET to node 192.168.20.201:7003 to make it join the cluster.

Waiting for the cluster to join

查看nodes

[redis@redis01 ~]$ redis-cli -h 192.168.20.201 -p 7001 cluster nodes

4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002@17002 master - 0 1568712829454 2 connected 10923-16383

4464a46e8f73931feea8991c6ce9bde7277c41aa 192.168.20.202:7003@17003 slave 797d123e6f8fb94260490b543cb8a5adce0d90db 0 1568712831825 1 connected

fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001@17001 master - 0 1568712832857 3 connected 5461-10922

7fa3dc96bf77976e0612aa55f872ddb3c9f271f1 192.168.20.202:7004@17004 slave 4a3aff53bd451c3df2c497d576dad674fbf2ff26 0 1568712831000 2 connected

797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001@17001 myself,master - 0 1568712829000 1 connected 0-5460

39336bfdf1b0c35435ecebe66afb6f79e78339ba 192.168.20.201:7003@17003 slave fe3f033c4a899c032ac9c0696b89e7be7e4975b2 0 1568712830537 3 connected

添加master

[redis@redis01 ~]$ redis-cli --cluster add-node 192.168.20.201:7003 192.168.20.202:7001

>>> Adding node 192.168.20.201:7003 to cluster 192.168.20.202:7001

>>> Performing Cluster Check (using node 192.168.20.202:7001)

M: fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001

slots:[5461-10922] (5462 slots) master

M: 4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002

slots:[10923-16383] (5461 slots) master

M: 797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001

slots:[0-5460] (5461 slots) master

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

>>> Send CLUSTER MEET to node 192.168.20.201:7003 to make it join the cluster.

[OK] New node added correctly.

[redis@redis01 ~]$ redis-cli -h 192.168.20.201 -p 7002 cluster nodes

fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001@17001 master - 0 1568711371227 3 connected 5461-10922

046582928a7b3d21aa2a344d01f182c489e7f26d 192.168.20.201:7003@17003 master - 0 1568711370000 0 connected

797d123e6f8fb94260490b543cb8a5adce0d90db 192.168.20.201:7001@17001 master - 0 1568711372564 1 connected 0-5460

4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002@17002 myself,master - 0 1568711371000 2 connected 10923-16383

删除节点 和 删除复制节点命令是一样的

[redis@redis02 ~]$ redis-cli --cluster del-node 192.168.20.201:7003 100a5f359104a7e13e1bccd02677032cfab667ea

>>> Removing node 100a5f359104a7e13e1bccd02677032cfab667ea from cluster 192.168.20.201:7003

>>> Sending CLUSTER FORGET messages to the cluster...

>>> SHUTDOWN the node.

检查节点

[redis@redis01 ~]$ redis-cli --cluster check 192.168.20.201:7002

Could not connect to Redis at 192.168.20.201:7001: Connection refused

192.168.20.201:7002 (4a3aff53...) -> 1 keys | 5461 slots | 1 slaves.

192.168.20.202:7001 (fe3f033c...) -> 1 keys | 5462 slots | 1 slaves.

192.168.20.202:7003 (4464a46e...) -> 0 keys | 5461 slots | 0 slaves.

[OK] 2 keys in 3 masters.

0.00 keys per slot on average.

>>> Performing Cluster Check (using node 192.168.20.201:7002)

M: 4a3aff53bd451c3df2c497d576dad674fbf2ff26 192.168.20.201:7002

slots:[10923-16383] (5461 slots) master

1 additional replica(s)

M: fe3f033c4a899c032ac9c0696b89e7be7e4975b2 192.168.20.202:7001

slots:[5461-10922] (5462 slots) master

1 additional replica(s)

S: 39336bfdf1b0c35435ecebe66afb6f79e78339ba 192.168.20.201:7003

slots: (0 slots) slave

replicates fe3f033c4a899c032ac9c0696b89e7be7e4975b2

S: 7fa3dc96bf77976e0612aa55f872ddb3c9f271f1 192.168.20.202:7004

slots: (0 slots) slave

replicates 4a3aff53bd451c3df2c497d576dad674fbf2ff26

M: 4464a46e8f73931feea8991c6ce9bde7277c41aa 192.168.20.202:7003

slots:[0-5460] (5461 slots) master

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

搭建cluster过程当中遇到的错误

错误1

[redis@redis01 redis-5.0.5]$ make install

cd src && make install

make[1]: Entering directory `/u01/redis/redis-5.0.5/src'

Hint: It's a good idea to run 'make test' ;)

INSTALL install

install: cannot create regular file `/usr/local/bin/redis-server': Permission denied

make[1]: *** [install] Error 1

make[1]: Leaving directory `/u01/redis/redis-5.0.5/src'

make: *** [install] Error 2

make install 使用root用户执行

错误2

[redis@redis01 ~]$ redis-cli --cluster create 192.168.20.201:7001 192.168.20.201:7002 192.168.20.202:7001

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

[redis@redis01 ~]$ redis-cli -h 192.168.20.201 -p 7001 CLUSTER NODES

571fc5a63b009d201c50a90d45fa23452d43d596 127.0.0.1:7001@17001 myself,master - 0 1568642020827 1 connected 0-4095 [7365-

0f5ee2036d799381612b76f423072d3760463697 :0@0 master,fail?,noaddr - 1568642020835 1568642020827 3 disconnected 8192-12287

70ff508977ef8bd4422d073dd5f79cefc164d193 127.0.0.1:7004@17004 master,fail? - 1568642020835 1568642020827 4 disconnected 12288-16383

f3f3d854bce9e15955bfcfe78d71c943025d7b30 :0@0 master,fail?,noaddr - 1568642020835 1568642020827 2 disconnected 4096-8191

[redis@redis01 ~]$ sh s.sh

redis 14997 1 0 22:16 ? 00:00:00 redis-server /u01/redis/redis-5.0.5/conf/7001/7001.conf

redis 14999 1 0 22:16 ? 00:00:00 redis-server /u01/redis/redis-5.0.5/conf/7002/7002.conf

redis 15001 1 0 22:16 ? 00:00:00 redis-server /u01/redis/redis-5.0.5/conf/7003/7003.conf

[redis@redis01 ~]$ redis-cli -h 192.168.20.201 -p 7001 CLUSTER NODES

13f63e9b5a7696181f7ae06f7ffc08b3afbb5cc3 :7001@17001 myself,master - 0 0 0 connected 3168 3300 7365 11298 15363 15495

将每个节点下aof、rdb、nodes.conf本地备份文件删除

flushdb

错误3

Waiting for the cluster to join hang

修改conf文件中 bind 修改成真实的ip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值