• Redis与分布式-集群搭建


    接上文 Redis与分布式-哨兵模式

    1. 集群搭建

    在这里插入图片描述

    在这里插入图片描述
    搭建简单的redis集群,创建6个配置,开启集群模式,将之前配置过的redis删除,重新复制6份
    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    针对主节点redis 1,redis 2,redis 3都是以上修改内容,只是端口号分别为6001,6002,6003。
    然后配置从节点。redis slave 1,redis slave 2,redis slave 3,端口号分别为7001,7002,7003。
    在这里插入图片描述
    在这里插入图片描述
    配置完启动6个redis
    在这里插入图片描述
    然后输入redis-cli.exe --cluster create --cluster-replicas 1 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003,这里的–cluster-replicas 1指的是每一个节点配置一个从节点
    在这里插入图片描述
    输入yes后等待分配
    在这里插入图片描述

    此时的分配关系为:6001:7003,6002:7001,6003:7002

    注:yes之后可能会一直卡顿,我把安全防护和防火墙关闭后没有问题了,如果是校园网有的端口号被封掉也会一直卡着不动。

    然后向6001写入数据但是报错,因为写入的地址是15495,而6001分配的插槽范围为0-5460,
    在这里插入图片描述
    在这里插入图片描述
    此时可通过redis-cli.exe -p 6001 -c启动客户端,若插槽位置不对,会自动转到对应的插槽的redus客户端地址在这里插入图片描述
    使用cluster nodes来查看当前所有节点的信息
    在这里插入图片描述
    测试挂掉一个节点,将6001挂掉,查看所有节点信息
    在这里插入图片描述
    然后将6001重新启动查看状态。
    在这里插入图片描述
    若将6001,7003都挂掉
    在这里插入图片描述
    重新启动6001,7003
    在这里插入图片描述
    然后测试使用java连接集群模式下的redis,需要用到JedisCluster对象

        public static void main(String[] args) {
            //和客户端一样,随便连一个就行,也可以多写几个,构造方法有很多种可以选择
            try(JedisCluster cluster = new JedisCluster(new HostAndPort("127.0.0.1", 6003))){
                System.out.println("集群实例数量:"+cluster.getClusterNodes().size());
                cluster.set("a", "yyds");
                System.out.println(cluster.get("a"));
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    多数之和问题
    MySQL 基本操作1
    APAUNet
    就业季学好3d建模,找对才是赚到
    MySQL窗口函数——让查询变得更简单
    《数据结构、算法与应用C++语言描述》使用C++语言实现链表队列
    培训心得怎么写?CHAT帮你解决问题
    HarmonyOS/OpenHarmony应用开发-DataAbility开发体验
    七夕到了 —— 属于 Java 的浪漫,拿去吧~ 祝表白成功
    基于SSM的汽车养护管理系统
  • 原文地址:https://blog.csdn.net/weixin_43917045/article/details/133439182