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
- 如果make报错则,查看gcc版本
gcc -v - 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
-
查看gcc版本
image.png - 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;