redis 哨兵模式

2020-11-01  本文已影响0人  小小的小帅

redis下载安装

#下载
    cd /usr/local/src
    wget http://download.redis.io/releases/redis-5.0.5.tar.gz
#解压:
    tar -zxvf redis-5.0.5,tar.gz
复制redis 到/usr/local下
    cp -r redis-5.0.5 /usr/local/redis
    cd /usr/local/redis
#编译,好到这里为止
    make
    make install
  1. 如果make报错则,查看gcc版本
    gcc -v
  2. centos7默认版本为4.8.5
    而redis6.0+需要的gcc版本为5.3及以上,所以升级gcc即可
//升级gcc到9以上
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

还需要执行命令

//临时将此时的gcc版本改为9
scl enable devtoolset-9 bash
//或永久改变
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
  1. 查看gcc版本


    image.png
  2. Redis设置合理的maxmemory, 保证机器有20%~30%的闲置内存。
    集中化管理AOF重写和RDB的bgsave。
    设置vm.overcommit_memory=1, 防止极端情况下会造成fork失败
vi /etc/sysctl.conf
vm.overcommit_memory=1
net.core.somaxconn= 1024
临时生效
sysctl vm.overcommit_memory=1

redis哨兵模式

主redis.conf

# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
# 设置密码
requirepass "123456"

从redis.conf

# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
# 设置密码
requirepass "123456"
# 指定主服务器,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
slaveof 192.168.3.34 6379
# 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
masterauth 123456

每个哨兵的配置都是一样的
vi sentinel.conf

# 禁止保护模式,外网可访问
protected-mode no
# 配置监听的主服务器
sentinel monitor mymaster 192.168.3.34 6379 2
# 主服务器密码
sentinel auth-pass mymaster 123456

当master异常情况后:

当主服务器宕机,此时将6379的端口关闭后,sentinel会自动将最可够的从节点中选出作为主服务器,当然相关的redis.conf\sentinel.conf配置文件也会被相应修改

查看

./redis-cli -h 192.168.3.35 -p 6379
auth 123456
info replication


image.png

命令后将看见它的role从原来的slave变为master;

上一篇下一篇

猜你喜欢

热点阅读