注:
1.redis哨兵模式至少需要三台redis实例
2.哨兵配置建议集群部署
3.参考链接 https://www.cnblogs.com/stulzq/p/9288401.html
reids配置
1、下载源码(版本号:4.0.1)
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
2.解压至 /usr/local/redis
tar -zxvf redis-4.0.1.tar.gz
3.编译、gcc
yum -y install gcc gcc-c++ kernel-devel
4.安装
make PREFIX=/usr/local/redis install
#创建配置文件目录
mkdir /usr/local/redis/conf/
#将redis配置文件copy至 /usr/local/redis/conf 文件夹下
cp redis.conf /usr/local/redis/conf
#创建bin文件夹,用于存放启动命令
mkdir /usr/local/redis/bin/
cd /usr/local/
cp redis-benchmark redis-sentinel redis-cli redis-server /usr/redis/bin/
可选操作:去除redis.conf配置文件注释信息
mv redis.conf /usr/local/redis/conf/redis.conf~
cat redis.conf~ | grep -Ev "^$|^#" > redis.conf
5.编辑redis.conf
注:为保证异常发生时,master能正常切换,redis密码需设置一致
bind 0.0.0.0 #绑定地址
daemonize yes #后台运行
timeout 300 #客户端闲置多长时间后断开连接,默认为0关闭此功能
pidfile "/var/run/redis.pid"
loglevel notice #日志级别
logfile "/data/wwwlog/redis/redis.log" #log路径
requirepass "masterauth" #数据库密码
#master 密码(slave端配置master密码)
masterauth "masterauth
"
# 主从复制(slave) master ip和端口
slaveof 172.17.109.186 6380
6.配置环境变量(可选操作)
vim /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
# 让环境变量立即生效
source /etc/profile
7.开启自启动设置
# 复制脚本文件到init.d目录下
cp redis /etc/init.d/
# 给脚本增加运行权限
chmod +x /etc/init.d/redis
# 查看服务列表
chkconfig --list
# 添加服务
chkconfig --add redis
# 配置启动级别
chkconfig --level 2345 redis on
8.启动命令
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
哨兵配置
1.在/usr/local/redis/conf 下新建sentinel.conf 配置文件
2.编辑配置文件
port 26379 #哨兵端口
daemonize yes #后台运行
pidfile "/var/run/redis-sentinel.pid" #pid存储文件
logfile "/data/wwwlog/sentinel-26379.log" #log文件
dir "/usr/local/redis/data" #工作目录
sentinel deny-scripts-reconfig yes
#告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效
# quorum 一般设置为 哨兵集群总数的半数以上
sentinel monitor mymaster 172.17.40.10 6379 2
#哨兵
sentinel down-after-milliseconds mymaster 3000
protected-mode no #关闭保护模式
当进行failover时,配置所有slaves指向新的master所需的最大时间
sentinel failover-timeout mymaster 15000
#设置连接master和slave时的密码,redis密码 master和slave的密码应该设置相同。
sentinel auth-pass mymaster vdong2019
3.启动命令
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sentinel.conf
4.查看运行状态
/usr/local/redis/bin/redis-cli -h reidsip -p 哨兵端口 info