• 记录搭建redis集群以及使用过程中踩过的坑


    集群搭建过程我参考的链接: https://w.cnblogs.com/nijunyang/p/12508098.html

    1、几个报无权限操作的解决办法

    chmod 777 /usr/local/redis-cluster
    chmod 777 /usr/local/redis-server
    chmod 777 /usr/local/redis-5.0.2/src/redis-cli

    2、加入节点超时,一直 Waiting for the cluster to join

    redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口,集群总线端口为redis客户端连接的端口 + 10000,如redis端口为6379,则集群总线端口为16379

    iptables 添加开放端口,

    vi /etc/sysconfig/iptables 

    重启配置

    systemctl restart iptables.service

    3、启动集群失败,报错:Node 192.168.116.133:6379 is not empty............

    解决办法参考:https://blog.csdn.net/qq_38151401/article/details/86741950

    清理文件后需要重启所有节点实例

    重点,重点,重点,使用过程中遇到的问题

    4、java代码连接集群,批量操作,mset,mget

    redis分片集群不支持跨分区操作,意思是说3个master集群,key1存在m1上,key2存在m2上,key3存在m3上,

    redis命令行执行 mget key1,key2,key3 执行失败,会报keys have defferent slots,不能跨分片查询

    spring项目引用redis.clients.jedis,也会报错,查看源码

    springboot项目org.springframework.data.redis包,居然可以查到数据,没有异常,查看源码,他会先计算一下keys是不是在同一个分片,同一个分片就直接mget,

    不在同一个分片他会创建一个map,key存节点信息,value存分布在这个节点上的key,然后使用并行io去执行,效率取决于最慢的一次请求

     

  • 相关阅读:
    解决Struts中文乱码问题总结
    也谈创业企业CEO该拿多少工资
    Codeforces Round #242 (Div. 2) A. Squats
    设计模式之模板方法模式
    hdu2768Cat vs. Dog (反建法,最大独立集)
    Python
    kvm
    linux bin文件制作
    python
    pytho
  • 原文地址:https://www.cnblogs.com/ghw0501/p/14447852.html
Copyright © 2020-2023  润新知