美文网首页
RedisCluster高可用集群搭建(二)

RedisCluster高可用集群搭建(二)

作者: 砒霜拌辣椒 | 来源:发表于2020-05-07 22:27 被阅读0次
    • 这里并非使用原生方式来搭建集群。
    • Redis5.x版本使用redis-cli工具搭建集群,不再像Redis4.x版本使用Ruby搭建,会更方便一些。
    • 如果有特殊的搭建要求,则需要按照原始方式搭建,原生方式采用各个节点先meet再指派槽最后分配主从来完成集群的搭建。

    1、各节点加入集群

    1. 3机6节点的主从拓扑,上下对应主从关系且主从节点错开在不同机器上。
    172.16.122.101:6379(主) 172.16.122.102:6379(主) 172.16.122.103:6379(主)
    172.16.122.102:6380(从) 172.16.122.103:6380(从) 172.16.122.101:6380(从)
    
    1. 在任意一台机器上执行以下命令,前3台为主机,后3台为从机,顺序一一对应。根据实际情况需要把ip地址和端口替换一下。--cluster-replicas 1参数表示主从节点是1:1关系。
    /usr/local/redis/bin/redis-cli --cluster create 172.16.122.101:6379 172.16.122.102:6379 172.16.122.103:6379 172.16.122.102:6380 172.16.122.103:6380 172.16.122.101:6380 --cluster-replicas 1
    
    1. 手动确认yes


      手动确认yes

    然后会看到下图,表示搭建OK。原生方式的先meet再指派槽最后分配主从的3个步骤现在仅用一行命令就已经完成了。


    完成搭建

    2、查看集群信息

    1. 进入客户端。
    /usr/local/redis/bin/redis-cli -p 6379
    
    1. 查看集群信息,状态已经OK。
    127.0.0.1:6379> 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:7
    cluster_my_epoch:7
    cluster_stats_messages_ping_sent:11979
    cluster_stats_messages_pong_sent:12091
    cluster_stats_messages_sent:24070
    cluster_stats_messages_ping_received:12091
    cluster_stats_messages_pong_received:11832
    cluster_stats_messages_received:23923
    
    1. 查看集群各节点信息,可以看到每个节点的主从关系以及槽点的分配。
    127.0.0.1:6379> cluster nodes
    e1e369014d2ffd33f3548cc75d64789048a9b2bf 172.16.122.101:6379@16379 myself,master - 0 1588327299000 9 connected 0-5460
    642b908e7c225daf7fa606201b938507cd33393d 172.16.122.101:6380@16380 slave 1d1ffb6589d25040c3f5d2bbea7d6503dd6a39dc 0 1588327300414 6 connected
    7b639ed82eae9ee6e4b17dfd25b09be1604f280d 172.16.122.102:6380@16380 slave e1e369014d2ffd33f3548cc75d64789048a9b2bf 0 1588327299000 9 connected
    639af5949611f931584a7dfc72f8841ff09d9ffd 172.16.122.103:6380@16380 slave 85f496b8891263e334bd6a43816d4ea465fbe8cf 0 1588327300000 5 connected
    1d1ffb6589d25040c3f5d2bbea7d6503dd6a39dc 172.16.122.103:6379@16379 master - 0 1588327300000 3 connected 10923-16383
    85f496b8891263e334bd6a43816d4ea465fbe8cf 172.16.122.102:6379@16379 master - 0 1588327301419 2 connected 5461-10922
    

    3、简单操作

    1. set key
    127.0.0.1:6379> set hello world
    (error) MOVED 866 172.16.122.101:6379
    
    • 可能成功也有可能会报错,报错是因为redis根据crc16算法算出存储该key的槽位不属于当前节点。exitquit命令退出客户端,我们需要以下命令重新进入客户端。(如果需要支持中文则要再加上--raw参数)
    /usr/local/redis/bin/redis-cli -p 6379 -c
    
    • 再执行就OK了,并且会提示重定向到槽位所属的节点。
    127.0.0.1:6379> set hello world
    -> Redirected to slot [866] located at 172.16.122.101:6379
    OK
    172.16.122.101:6379>
    
    1. get key
    172.16.122.101:6379> get hello
    "world"
    
    1. del key
    172.16.122.101:6379> del hello
    (integer) 1
    

    4、启停集群

    1. 关闭1台机器的所有实例。
    pkill redis
    
    1. 挨个关闭1台机器的实例。
    /usr/local/redis/bin/redis-cli -p 6379 shutdown
    /usr/local/redis/bin/redis-cli -p 6380 shutdown
    
    1. 再次重启时不需要再搭起集群,redis会读取保留集群信息的文件恢复集群关系。
    /usr/local/redis/nodes-6379.conf
    /usr/local/redis/nodes-6380.conf
    

    Redis安装
    RedisCluster高可用集群搭建(一)
    Redis5.x在云服务器搭建集群

    参考链接

    相关文章

      网友评论

          本文标题:RedisCluster高可用集群搭建(二)

          本文链接:https://www.haomeiwen.com/subject/dyhtnhtx.html