• redis7 搭建集群


    redis7 搭建集群

    服务器信息
    在这里插入图片描述

    redis 配置目录
    在这里插入图片描述
    cluster配置

    ##########redis集群需要至少三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点
    
    bind 0.0.0.0 -::1
    #是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
    protected-mode no
    port 16379
    # redis进程是否以守护进程的方式运行,yes为是,no为否(不以守护进程的方式运行会占用一个终端)。
    daemonize yes
    
    # 指定redis进程的PID文件存放位置
    pidfile "/var/run/redis_16379.pid"
    
    # redis日志级别,可用的级别有debug.verbose.notice.warning
    loglevel notice
    
    # log文件输出位置,如果进程以守护进程的方式运行,此处又将输出文件设置为stdout的话,就会将日志信息输出到/dev/null
    logfile "/opt/components/redis/redis-cluster/logs/redis-16379.log"
    
    # 指定存储至本地数据库时是否压缩文件,默认为yes即启用存储
    rdbcompression yes
    
    # # 指定本地数据库文件名
    dbfilename "dump-16379.rdb"
    
    #redis集群模式数据存放目录,指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
    dir "/opt/components/redis/redis-cluster/data"
    
    ################################# Redis集群配置 [无中心化]#################################
    # 开启redis集群
    cluster-enabled yes
    
    # 集群配置文件
    cluster-config-file nodes-16379.conf
    
    # 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。默认15秒
    # cluster-node-timeout 15000
    
    # redis访问密码
    requirepass 123456
    
    
    # 主要是针对master对应的slave节点设置的,在slave节点数据同步的时候用到。设置集群节点间访问密码
    masterauth 123456
    
    #AOF模式 
    appendonly no
    
    # 混合持久化模式
    aof-use-rdb-preamble yes
    
    # maxclients 10000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    配置服务systemd

    [Unit]
    Description=Redis7.0.4 - [Cluster Node port:16379]
    After=network.target
     
    [Service]
    Type=forking
    PIDFile=/var/run/redis_16379.pid
    ExecStart=/usr/local/bin/redis/redis-server  /opt/components/redis/redis-cluster/conf/redis-cluster-16379.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
     
    [Install]
    WantedBy=multi-user.target
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述

    三台机器都配置完成后,都启动好。接下来创建集群:

    ########## 9个节点、分三片集群;一个主节点对应三个从节点

    192.168.0.81:16379 192.168.0.81:16380 192.168.0.81:16381

    192.168.0.82:16379 192.168.0.82:16380 192.168.0.82:16381

    192.168.0.83:16379 192.168.0.83:16380 192.168.0.83:16381

    ########## 一主两从搭建集群

    redis-cli -a 123456 --cluster create --cluster-replicas 2 192.168.0.81:16379 192.168.0.82:16379 192.168.0.83:16379  192.168.0.81:16380 192.168.0.82:16380 192.168.0.83:16380 192.168.0.81:16381 192.168.0.82:16381 192.168.0.83:16381
    
    • 1

    创建集群:

    [root@server81 src]# ./redis-cli -a 123456  --cluster create --cluster-replicas 2 192.168.0.81:16379 192.168.0.82:16379 192.168.0.83:16379  192.168.0.81:16380 192.168.0.82:16380 192.168.0.83:16380 192.168.0.81:16381 192.168.0.82:16381 192.168.0.83:16381
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    >>> Performing hash slots allocation on 9 nodes...
    Master[0] -> Slots 0 - 5460
    Master[1] -> Slots 5461 - 10922
    Master[2] -> Slots 10923 - 16383
    Adding replica 192.168.0.82:16380 to 192.168.0.81:16379
    Adding replica 192.168.0.83:16380 to 192.168.0.81:16379
    Adding replica 192.168.0.81:16381 to 192.168.0.82:16379
    Adding replica 192.168.0.83:16381 to 192.168.0.82:16379
    Adding replica 192.168.0.82:16381 to 192.168.0.83:16379
    Adding replica 192.168.0.81:16380 to 192.168.0.83:16379
    M: 839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379
       slots:[0-5460] (5461 slots) master
    M: 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379
       slots:[5461-10922] (5462 slots) master
    M: 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379
       slots:[10923-16383] (5461 slots) master
    S: faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380
       replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
    S: 664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380
       replicates 839246f2edf06386be6fa157339b9082230cf071
    S: 0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380
       replicates 839246f2edf06386be6fa157339b9082230cf071
    S: aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381
       replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
    S: 6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381
       replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
    S: 7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381
       replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
    
    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.0.81:16379)
    M: 839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379
       slots:[0-5460] (5461 slots) master
       2 additional replica(s)
    S: faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380
       slots: (0 slots) slave
       replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
    M: 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379
       slots:[10923-16383] (5461 slots) master
       2 additional replica(s)
    S: 0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380
       slots: (0 slots) slave
       replicates 839246f2edf06386be6fa157339b9082230cf071
    S: 6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381
       slots: (0 slots) slave
       replicates 799ddacaceebed6f50b3fc8a4cdc23c981df19b7
    S: 7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381
       slots: (0 slots) slave
       replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
    S: aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381
       slots: (0 slots) slave
       replicates 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b
    M: 12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379
       slots:[5461-10922] (5462 slots) master
       2 additional replica(s)
    S: 664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380
       slots: (0 slots) slave
       replicates 839246f2edf06386be6fa157339b9082230cf071
    [OK] All nodes agree about slots configuration.
    >>> Check for open slots...
    >>> Check slots coverage...
    [OK] All 16384 slots covered.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69

    ############# 分配后的结构
    839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379 -》 192.168.0.82:16380 192.168.0.83:16380

    12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379 -》 192.168.0.81:16381 192.168.0.83:16381

    799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379 -》 192.168.0.81:16380 192.168.0.82:16381

    分析redis集群,选主

    步骤一、查询此时redis集群状态

    0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390763727 1 connected
    7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390762000 10 connected
    faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
    839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390762719 1 connected 0-5460
    799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 myself,master - 0 1662390759000 3 connected 10923-16383
    aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390762000 10 connected 5461-10922
    6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
    664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390764737 1 connected
    12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390761000 10 connected
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    整理便于观察

    839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390762719 1 connected 0-5460
    0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390763727 1 connected
    664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390764737 1 connected
    
    aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390762000 10 connected 5461-10922
    7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390762000 10 connected
    12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390761000 10 connected
    
    
    799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 myself,master - 0 1662390759000 3 connected 10923-16383
    faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
    6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 slave 799ddacaceebed6f50b3fc8a4cdc23c981df19b7 0 1662390762000 3 connected
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    #步骤二、将192.168.0.83:16379节点关闭,由于是主节点,需要重新选主。

    7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390896368 10 connected
    0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 myself,slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390896000 1 connected
    12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390898383 10 connected
    839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390897376 1 connected 0-5460
    aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390896000 10 connected 5461-10922
    799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 master,fail - 1662390852988 1662390851000 3 disconnected
    664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390895360 1 connected
    faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662390895000 11 connected
    6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 master - 0 1662390897000 11 connected 10923-16383
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    整理便于观察

    839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662390897376 1 connected 0-5460
    0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 myself,slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390896000 1 connected
    664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662390895360 1 connected
    
    aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662390896000 10 connected 5461-10922
    7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390896368 10 connected
    12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662390898383 10 connected
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    192.168.0.83:16379 掉线。重新选主192.168.0.82:16381为主节点。后面192.168.0.83:16379重新上线,变为从节点。

    6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 master - 0 1662390897000 11 connected 10923-16383
    faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662390895000 11 connected
    799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 master,fail - 1662390852988 1662390851000 3 disconnected
    
    • 1
    • 2
    • 3

    #步骤三、将192.168.0.83:16379 重新上线

    7d412fea5421779bde0c46a52058f6642b24086d 192.168.0.83:16381@26381 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662391449016 10 connected
    0e6d09b51116e723262939910783807c612b022f 192.168.0.83:16380@26380 myself,slave 839246f2edf06386be6fa157339b9082230cf071 0 1662391446000 1 connected
    12e1fe0f08bb2cfe6edf80467510a08b5ce0a99b 192.168.0.82:16379@26379 slave aa396fda2e18a9af1a29029bb1f7527bf3a027f3 0 1662391448000 10 connected
    839246f2edf06386be6fa157339b9082230cf071 192.168.0.81:16379@26379 master - 0 1662391443000 1 connected 0-5460
    aa396fda2e18a9af1a29029bb1f7527bf3a027f3 192.168.0.81:16381@26381 master - 0 1662391445000 10 connected 5461-10922
    799ddacaceebed6f50b3fc8a4cdc23c981df19b7 192.168.0.83:16379@26379 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662391445994 11 connected
    664339b94f8fc6c7d73a583541eee9c633f1302a 192.168.0.82:16380@26380 slave 839246f2edf06386be6fa157339b9082230cf071 0 1662391445000 1 connected
    faf83256ece32d6e08fb7a3728cb1de235633080 192.168.0.81:16380@26380 slave 6bc0c73074e74fb11cdc9c5051b093f35879228a 0 1662391448008 11 connected
    6bc0c73074e74fb11cdc9c5051b093f35879228a 192.168.0.82:16381@26381 master - 0 1662391447002 11 connected 10923-16383
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Image captioning数据集、评价指标和算法性能比较
    Vue中如何进行网页截图与截屏
    Android Termux安装MySQL,通过内网穿透实现公网远程访问
    重学 JavaSE 高阶
    Kotlin2 进阶
    计算机三级信息安全笔记(知识点)
    【allegro 17.4软件操作保姆级教程一】软件操作环境设置
    数据仓库之Kappa架构
    python-paddle报错‘ErnieTokenizer‘ object is not subscriptable
    linux 中jenkins启动重启停止命令 改端口
  • 原文地址:https://blog.csdn.net/ganquanzhong/article/details/126735076