美文网首页Linux学习空间redis
十三、Linux(CentOS7) Redis集群模式和哨兵模式

十三、Linux(CentOS7) Redis集群模式和哨兵模式

作者: 全栈程序猿 | 来源:发表于2022-05-14 14:51 被阅读0次

    一、Redis集群配置

    创建集群目录

    mkdir -p /usr/local/redis-cluster
    cd /usr/local/redis-cluster
    mkdir 6379 6378
    

    修改配置文件

    vi redis.conf
    
    daemonize yes
    port 6379
    dir /usr/local/redis-cluster/6379/
    cluster-enabled yes #启动集群模式
    cluster-config-file nodes-6379.conf
    cluster-node-timeout 5000
    bind 0.0.0.0
    protected-mode no
    appendonly yes
    #如果要设置密码需要增加如下配置:
     #(设置redis访问密码)
    requirepass 123456
     #(设置集群节点间访问密码,跟上面一致)
    masterauth 123456
    

    把修改后的配置文件,copy到6379、6378,修改第2、3、5项里的端口号,可以用批量
    %s/源字符串/目的字符串/g

    启动redis:

    ./redis-server  /usr/local/redis-cluster/6379/redis.conf
    ./redis-server  /usr/local/redis-cluster/6378/redis.conf
    

    查看是否启动成功

    ps -ef | grep redis 
    

    用redis-cli创建整个redis集群:
    测试环境:

    ./redis-cli --cluster create 192.168.10.195:6379 192.168.10.195:6378 192.168.10.124:6379 192.168.10.124:6378 192.168.10.100:6379 192.168.10.100:6378 --cluster-replicas 1 -a sbjcptTest
    

    生产环境:

    ./redis-cli --cluster create 10.1.8.111:6301 10.1.8.111:6302 10.1.8.112:6303 10.1.8.112:6304 10.1.8.113:6305 10.1.8.113:6306 --cluster-replicas 1 -a sbjcptTest
    

    验证集群:

    ./redis-cli -c -a sbjcptTest -h 192.168.10.195 -p 6379
    
    ./redis-cli -c -a xxx -h 10.1.8.111 -p 6301
    
    
    ./redis-cli -c -a sbjcptTest -h 10.1.8.112 -p 6301
    

    常用命令:

    # 查看集群信息
    cluster info
    # 查看节点列表
    cluster nodes
    

    二、Redis哨兵模式配置(主备):

    创建数据存放目录

    mkdir /data
    mkdir /data/redis
    mkdir /data/redis/redis-log
    mkdir /data/redis/data
    

    首先配置Redis的主服务器,修改redis.conf文件如下

    # 使得Redis服务器可以跨网络访问
    bind 0.0.0.0
    dir "/data/redis/data"
    daemonize yes
    logfile "/data/redis/redis-log/redis.log"
    
    # 设置密码
    requirepass "123456"
    
    # 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
    masterauth 123456
    

    配置Redis的从服务器,修改配置文件redis.conf

    # 使得Redis服务器可以跨网络访问
    bind 0.0.0.0
    dir "/data/redis/data"
    daemonize yes
    logfile "/data/redis/redis-log/redis.log"
    
    # 设置密码
    requirepass "123456"
    
    # 主服务器密码,,这个都要配置,不然主从无法用
    masterauth 123456
    # 注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
    slaveof 192.168.10.195 6379
    # 关闭防火墙:
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    systemctl status firewalld.service
    # 启动:./redis-server ../redis.conf
    # 查看集群是否正常:
    redis-cli  -h 192.168.10.195 -p 6379 -a 123456 info Replication
    [root@localhost src]# redis-cli  -h 192.168.10.195 -p 6379 -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.10.100,port=6379,state=online,offset=70,lag=0
    slave1:ip=192.168.10.124,port=6379,state=online,offset=70,lag=0
    master_replid:808f22bacf3af9192301aba5c63afff7d60f3b41
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:70
    second_repl_offset:-1
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1
    repl_backlog_histlen:70
    
    # 测试
    redis-cli  -h 192.168.10.195 -p 6379 -a 123456
    AUTH 123456
    set k1 v1
    exit
    # 测试
    redis-cli  -h 192.168.10.124 -p 6379 -a 123456
    AUTH 123456
    get k1
    

    安装哨兵

    # 3台Redis服务器都需执行
    vi   sentinel.conf
    
    mkdir /data/redis/sentinel-log
    dataport 26379
    protected-mode no
    daemonize yes
    pidfile /var/run/redis-sentinel.pid
    logfile "/data/redis/sentinel-log/sentinel.log"
    dir /tmp
    sentinel monitor mymaster 192.168.10.195 6379 2
    sentinel down-after-milliseconds mymaster 30000
    sentinel parallel-syncs mymaster 1
    sentinel failover-timeout mymaster 180000
    sentinel deny-scripts-reconfig yes
    sentinel auth-pass mymaster 123456
    

    启动哨兵:

    ./redis-sentinel  ../sentinel.conf
    

    测试查看哨兵:

    ./redis-cli -h 192.168.10.195 -p 26379 INFO Sentinel
    
    ./redis-cli  -h 192.168.10.195 -p 6379 -a 123456 info Replication
    
    ./redis-cli -h 10.1.8.112 -p 26379 INFO Sentinel
    
    ./redis-cli  -h 10.1.8.112 -p 6379 -a 123456 info Replication
    

    关闭命令:

    pkill redis-sentinel
    
    pkill redis-server
    

    相关文章

      网友评论

        本文标题:十三、Linux(CentOS7) Redis集群模式和哨兵模式

        本文链接:https://www.haomeiwen.com/subject/pzhuurtx.html