• redis 哨兵集群(sentinel)部署


     

    1、准备最少三个redis作为集群中三个节点

    192.168.2.24 6373(master)
    192.168.2.24 6373(slave)
    192.168.2.24 6373(slave)

    在redis安装文件中将sentinel.conf拷贝到redis.conf所在目录

    2、修改配置文件redis.conf

    ##以下master、slave节点都需要配置
    port  6373                                        #端口6373,6374,6375        
    bind 0.0.0.0                                     #可通过外部访问
    daemonize  yes                               #redis后台运行
    pidfile  /var/run/redis_6373.pid              #pidfile文件对应6373,6374,6375
    dbfilename dump-6373.rdb                  #redis持久化时存储的文件名
    requirepass  123456                       #本节点密码
    masterauth 123456                         #master节点密码,建议都设置成一样的
    dir /usr/local/redis/data/                #配置redis持久化时存储位置,此目录需要额外创建
    ###只需要slave节点配置,如果发声主从切换,原slave节点会自动写入master节点的复制信息
    replicaof 192.168.2.24 6373               //配置当前节点从哪个master节点复制

    3、修改sentinel.conf

    bind 0.0.0.0
    daemonize yes 
    dir "/usr/local/redis/data
    #端口26373,26374,26375
    port 26373  
    #26373,26374,26375
    pidfile "/var/run/sentinel-6373.pid" 
    #26373,26374,26375
    logfile "sentinel-26373.log" 
    #mymaster:master节点名称,可自行定义 + master<ip> + master<port> + 2:当该master节点挂了后,需sentinel集群中必须至少2个sentinel同意才行,只要数量不达标就不会故障迁移 
    sentinel monitor mymaster 192.168.2.24 6373 2
    sentinel auth-pass mymaster 123456    

    4、启动redis-server、redis-sentinel

    #启动所有redis节点,启动顺序无要求
    ./bin/redis-server ./redis_cluster/6373/redis.conf
    ./bin/redis-server ./redis_cluster/6374/redis.conf
    ./bin/redis-server ./redis_cluster/6375/redis.conf
    #启动sentinel集群,先启动master的哨兵,再启动slave哨兵
    ./bin/redis-sentinel ./redis_cluster/6373/sentinel.conf
    ./bin/redis-sentinel ./redis_cluster/6374/sentinel.conf
    ./bin/redis-sentinel ./redis_cluster/6375/sentinel.conf

    5、查看集群信息

    ##登录master节点查看集群信息,可以看到当前角色为master,有两个slave节点
    [root@project-deve data]# ../bin/redis-cli -h 192.168.2.24 -p 6373 -a 123456 info replication
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    # Replication
    role:master
    connected_slaves:2
    slave0:ip=192.168.2.24,port=6374,state=online,offset=2278758,lag=0
    slave1:ip=192.168.2.24,port=6375,state=online,offset=2278897,lag=0
    master_failover_state:no-failover
    master_replid:22e45bc804b796f54b57b8145e80f69d483697a3
    master_replid2:0248953553f40d7d8bd6cf0c463827469cbaba47
    master_repl_offset:2278897
    second_repl_offset:67095
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1230322
    repl_backlog_histlen:1048576
    
    ##登录slave节点
    [root@project-deve data]# ../bin/redis-cli -h 192.168.2.24 -p 6375 -a 123456 info replication
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    # Replication
    role:slave
    master_host:192.168.2.24
    master_port:6373
    master_link_status:up
    master_last_io_seconds_ago:1
    master_sync_in_progress:0
    slave_read_repl_offset:2295133
    slave_repl_offset:2295133
    slave_priority:100
    slave_read_only:1
    replica_announced:1
    connected_slaves:0
    master_failover_state:no-failover
    master_replid:22e45bc804b796f54b57b8145e80f69d483697a3
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:2295133
    second_repl_offset:-1
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1246558
    repl_backlog_histlen:1048576
    

    6、此时一个redis哨兵集群就已经搭建好了,现模仿master节点down掉,直接kill掉6373

    20845:X 09 Nov 2021 20:05:24.970 # +sdown master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:25.042 # +odown master mymaster 192.168.2.24 6373 #quorum 2/2
    20845:X 09 Nov 2021 20:05:25.042 # +new-epoch 3
    20845:X 09 Nov 2021 20:05:25.042 # +try-failover master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:25.185 # +vote-for-leader e775358d1a361f29c02aa5c81891820ca412d91b 3
    20845:X 09 Nov 2021 20:05:25.203 # 2115307517329fc4551e65005def0f495823d1c4 voted for 2115307517329fc4551e65005def0f495823d1c4 3
    20845:X 09 Nov 2021 20:05:25.271 # 716608d689335e4651eba4de32c7799b51f89271 voted for e775358d1a361f29c02aa5c81891820ca412d91b 3
    20845:X 09 Nov 2021 20:05:25.300 # +elected-leader master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:25.300 # +failover-state-select-slave master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:25.383 # +selected-slave slave 192.168.2.24:6374 192.168.2.24 6374 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:25.383 * +failover-state-send-slaveof-noone slave 192.168.2.24:6374 192.168.2.24 6374 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:25.466 * +failover-state-wait-promotion slave 192.168.2.24:6374 192.168.2.24 6374 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:26.318 # +promoted-slave slave 192.168.2.24:6374 192.168.2.24 6374 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:26.318 # +failover-state-reconf-slaves master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:26.318 * +slave-reconf-sent slave 192.168.2.24:6375 192.168.2.24 6375 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:26.419 # -odown master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:27.204 * +slave-reconf-inprog slave 192.168.2.24:6375 192.168.2.24 6375 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:27.204 * +slave-reconf-done slave 192.168.2.24:6375 192.168.2.24 6375 @ mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:27.270 # +failover-end master mymaster 192.168.2.24 6373
    20845:X 09 Nov 2021 20:05:27.270 # +switch-master mymaster 192.168.2.24 6373 192.168.2.24 6374
    20845:X 09 Nov 2021 20:05:27.271 * +slave slave 192.168.2.24:6375 192.168.2.24 6375 @ mymaster 192.168.2.24 6374
    20845:X 09 Nov 2021 20:05:27.271 * +slave slave 192.168.2.24:6373 192.168.2.24 6373 @ mymaster 192.168.2.24 6374
    20845:X 09 Nov 2021 20:05:57.303 # +sdown slave 192.168.2.24:6373 192.168.2.24 6373 @ mymaster 192.168.2.24 6374
    

    7、从日志看出已经选举了6374为master,从6375节点查看集群信息

    [root@project-deve data]# ../bin/redis-cli -h 192.168.2.24 -p 6375 -a 123456 info replication
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    # Replication
    role:slave
    master_host:192.168.2.24
    master_port:6374
    master_link_status:up
    master_last_io_seconds_ago:1
    master_sync_in_progress:0
    slave_read_repl_offset:2437128
    slave_repl_offset:2437128
    slave_priority:100
    slave_read_only:1
    replica_announced:1
    connected_slaves:0
    master_failover_state:no-failover
    master_replid:278763267d06775e33b169a96a1ed5b3620a12c1
    master_replid2:04b3854e5644032fbdd4e8cad5bdfffbc6c2f935
    master_repl_offset:2437128
    second_repl_offset:2385896
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:2351830
    repl_backlog_histlen:85299
  • 相关阅读:
    Nhibernate代码生成器v2.1中文版
    在asp.net中生成16位随机密码
    IIS 启动不了(发生意外错误0x8ffe2740)
    NET代码生成器
    Linux系统
    VS2005快捷键大全
    ASP+ACCESS数据库中文乱码问题解决
    如何配置ASP.NETOracle 9i 远程登陆数据库
    ASP.NET获取汉字拼音的首字母
    checkbox 实时操作,勾选后变色[带演示]
  • 原文地址:https://www.cnblogs.com/lansetuerqi/p/15529843.html
Copyright © 2020-2023  润新知