• Linux:redis集群(3.*版本 和 5.*版本)搭建方法


    介绍

    至少6个实例才能组成集群。3主3从会自动分配

    Redis集群原理
    Redis集群架构
    Redis Cluster采用虚拟槽分区,将所有的数据根据算法映射到0~16383整数槽内
    Redis Cluster是一个无中心的结构
    每个节点都保存数据和整个集群的状态
    集群角色
    Master:Master之间分配slots
    Slave:Slave向它指定的Master同步数据
    集群节点使用的TCP端口
    6379端口用于客户端的连接
    16379端口用于群集总线 


    环境 

    我这里准备了6个服务器 

    192.168.254.1        6379端口                主 

    192.168.254.2        6379端口                主

    192.168.254.3        6379端口                主

    192.168.254.4        6379端口                从

    192.168.254.5        6379端口                从

    192.168.254.253         6379端口           从

    这些服务器均已安装redis,如果没有安装可以看我往期博客,5.*版本和3.*是一样的安装方法 


    搭建集群(以下操作6个服务器都是同样的操作)

    https://rubygems.org/downloads/redis-3.3.5.gemicon-default.png?t=N7T8https://rubygems.org/downloads/redis-3.3.5.gem 搭建redis集群需要ruby环境

     下载这个gem包让后放进Linux中

    下面中修改只用修改第一行把ip修改成你的服务器ip,其他照搬即可,前提是别的文件都是默认的

    1. vim /etc/redis/6379.conf
    2. 修改为以下内容
    3. bind 192.168.254.1
    4. protected-mode yes
    5. port 6379
    6. tcp-backlog 511
    7. timeout 0
    8. tcp-keepalive 300
    9. daemonize yes
    10. supervised no
    11. pidfile /var/run/redis_6379.pid
    12. loglevel notice
    13. logfile /var/log/redis_6379.log
    14. databases 16
    15. save 900 1
    16. save 300 10
    17. save 60 10000
    18. stop-writes-on-bgsave-error yes
    19. rdbcompression yes
    20. rdbchecksum yes
    21. dbfilename dump.rdb
    22. dir /var/lib/redis/6379
    23. slave-serve-stale-data yes
    24. slave-read-only yes
    25. repl-diskless-sync no
    26. repl-diskless-sync-delay 5
    27. repl-disable-tcp-nodelay no
    28. slave-priority 100
    29. appendonly no
    30. appendfilename "appendonly.aof"
    31. appendfsync everysec
    32. no-appendfsync-on-rewrite no
    33. auto-aof-rewrite-percentage 100
    34. auto-aof-rewrite-min-size 64mb
    35. aof-load-truncated yes
    36. lua-time-limit 5000
    37. cluster-enabled yes
    38. cluster-config-file nodes-6379.conf
    39. cluster-node-timeout 15000
    40. slowlog-log-slower-than 10000
    41. slowlog-max-len 128
    42. latency-monitor-threshold 0
    43. notify-keyspace-events ""
    44. hash-max-ziplist-entries 512
    45. hash-max-ziplist-value 64
    46. list-max-ziplist-size -2
    47. list-compress-depth 0
    48. set-max-intset-entries 512
    49. zset-max-ziplist-entries 128
    50. zset-max-ziplist-value 64
    51. hll-sparse-max-bytes 3000
    52. activerehashing yes
    53. client-output-buffer-limit normal 0 0 0
    54. client-output-buffer-limit slave 256mb 64mb 60
    55. client-output-buffer-limit pubsub 32mb 8mb 60
    56. hz 10
    57. aof-rewrite-incremental-fsync yes
    /etc/init.d/redis_6379 stop
    /etc/init.d/redis_6379 start

    重启一下,如果你用restart也行,但是那个貌似不稳定

    如果看到成功开启那么就可以 

    yum -y  install ruby rubygems 
    
    gem install redis --version 3.3.5

    要和这个文件在同一级才行 

    cd /usr/src/redis-3.*/src/

    创建集群的命令(这个命令只需在一个上面执行即可)(3.*)

    如果你是5.*版本那么看下面一个

    ./redis-trib.rb create --replicas 1 192.168.254.1:6379 192.168.254.2:6379 192.168.254.3:6379 192.168.254.4:6379 192.168.254.5:6379 192.168.254.253:6379

     

    yes

    ./redis-trib.rb check 192.168.254.1:6379 

    后面ip写6个其中哪个都行


     创建集群的命令(这个命令只需在一个上面执行即可)(5.*)

    redis-cli --cluster create  192.168.254.1:6379 192.168.254.2:6379 192.168.254.3:6379 192.168.254.4:6379 192.168.254.5:6379 192.168.254.253:6379 --cluster-replicas 1

    这个就可以将这6个组成一个集群

    如果你想给集群设置密码可以在后面加个-a 123456    那么123456就是密码


     登录&测试

     redis-cli -h 服务器ip -p 端口 -c

    redis-cli -h 192.168.254.1 -p 6379 -c

     这样才可以,一定要-c

    我们在192.168.254.1上创建一个键值对

     

    无论在这个集群里哪台服务器都可以查看 

    这样集群就搭建成功了 

  • 相关阅读:
    基于蜜蜂算法的函数寻优及TSP搜索算法
    c++实现计时器(精确到秒)
    计算机公共课面试常见问题:线性代数篇
    数据结构题目收录(一)
    Git | SSH 密钥连接到 GitHub
    C/C++数据结构——列出连通集(深搜和广搜)
    YOLOV8离谱报错
    【推荐系统】多任务学习模型
    useCallback,useMemo与react,memo的区别与联系
    UBOOT编译--- make xxx_deconfig过程详解(一)
  • 原文地址:https://blog.csdn.net/w14768855/article/details/133798640