redis 哨兵

1、准备

此处安装使用三台虚拟机: 安装redis 方式此处略过, 装好一台后克隆另两台。 10.10.10.132 10.10.10.133 10.10.10.134

redis

在第一台配置 其他两台克隆

    mkdir -p /u01/redis/6379/data
    mkdir -p /u01/redis/6379/log
    mkdir -p /u01/redis/6379/temp

一主两从配置文件:

1)主节点:10.10.10.134

bind 192.168.8.121
protected-mode no
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid" 
dir "/u01/redis/6379/data/" 
slave-priority 100
appendonly yes 
appendfsync everysec 
requirepass bl00m2# 
masterauth bl00m2# 

2)从节点1:10.10.10.132  # 从节点2 :133

bind 192.168.8.122 
protected-mode no 
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid"
dir "/u01/redis/6379/data/"
slaveof 10.10.10.134 6379
slave-read-only yes 
slave-priority 80  # 从节点3 60
appendonly yes
appendfsync everysec
requirepass bl00m2# 
masterauth bl00m2# 

redis系统服务配置:

    //拷贝redis服务启动文件到/etc/init.d
    cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis
    //redis启动文件修改分两部分
    vi /etc/init.d/redis
    //第一部分
    #!/bin/sh
    #chkconfig:2345 80 90 <- 这里需要添加这一行,否则chkconfig --add redis会报错“service redis does not support chkconfig”。
    //第二部分
    REDISPORT=6379
    EXEC=/usr/local/redis/bin/redis-server <- 这里修改路径为/usr/local/redis
    CLIEXEC=/usr/local/redis/bin/redis-cli <- 这里修改路径为/usr/local/redis
    
    //添加redis服务
    chkconfig --add redis
配置环境变量,确认redis相关命令可用:

    vim /etc/profile
    export PATH="$PATH:/usr/local/redis/bin"
    //立即生效
    source /etc/profile

哨兵sentinel配置

每台主机可以配置一个或者多个哨兵,取决与每个服务器上跑多少个redis。 系统参数配置:

    vi /etc/sysctl.conf
    //定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为128
    net.core.somaxconn= 1024
    //sysctl.conf 生效
    sysctl -p

哨兵配置文件:

    //哨兵配置文件位置
    cp /usr/local/redis/sentinel.conf /etc/redis
    
    vi /etc/redis/sentinel.conf
    protected-mode no
    port 26379
    dir "/u01/redis/6379/temp/"
    daemonize yes
    logfile "/u01/redis/6379/temp/sentinel.log"
    sentinel monitor redis1 10.10.10.134 6379 2
    sentinel down-after-milliseconds redis1 10000
    sentinel parallel-syncs redis1 2
    sentinel failover-timeout redis1 60000
    sentinel auth-pass redis1 bl00m2#

启动哨兵:

    redis-sentinel /etc/redis/sentinel.conf

哨兵配置

 "RedisSettings": {
    "ServiceName": "redis1",
    "Sentinels": "10.10.10.134:26379,10.10.10.132:6379,10.10.10.133:6379",
    "Password": "bl00m2#",
    "Prefix": "DEV_"
  },