赞
踩
下载redis 下载版本
下载地址:https://download.redis.io/release/
安装redis 之前把 gcc tcl等依赖环境安装好
集群配置
3台哨兵,1主,2从
服务器 | 部署应用 |
10.100.101.111 | 哨兵,主节点 |
10.100.101.112 | 哨兵,从1 |
10.100.101.113 | 哨兵,从2 |
下载/解压
tar -zxvf redis-6.0.6.tar.gz
cd redis-6.0.6
##6.X以上版本需要升级gcc
yum install -y gcc
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
#如果要长期使用gcc 9.1的话执行下面的命令即可:
echo -e "\nsource /opt/rh/devtoolset-9/enable" >>/etc/profile
#安装
make
修改112,113 的 redis.conf 配置:
daemonize yes
replicaof 10.100.101.111 6379
masterauth ******
# 确保有1个从节点写入,延时不超过10s,不然主节点会停止写入请求
min-replicas-to-write 1
min-replicas-max-lag 10 requirepass 123456 appendonly yes
修改111 的 redis.conf 配置
daemonize yes
masterauth ******
# 确保有1个从节点写入,延时不超过10s,不然主节点会停止写入请求
min-replicas-to-write 1
min-replicas-max-lag 10
#节点加密
requirepass ******
#AOF持久化,是否记录更新操作日志,默认redis是异步(快照)把数据写入本地磁盘
appendonly yes
#redis日志
logfile "/var/log/redis/redis.log"
#注意需要创建路径,不然会有报错
slave配置文件
112以及113的redis配置多一行
同master区别在与需要多配置:
slaveof <MASTER IP> <MASTER PORT>
#这里改成对应master的IP和端口
#redis日志
logfile "/var/log/redis/redis.log"
#注意需要创建路径,不然会有报错
查看主从状态
#启动
src/redis-server redis.conf
#登录
src/redis-cli -p 6379
#查看节点角色及主从状态
info replication
#注,如果报错,考虑授权登录客户端(auth *******)
修改 111,112,113 的sentinel.conf
daemonize yes
sentinel monitor mymaster 10.100.101.111 6379 2
sentinel auth-pass mymaster ******
#配置日志:
logfile "/var/log/redis/sentinel.log"
#注:需要创建路径
启动redis哨兵并查看监控状态
src/redis-sentinel sentinel.conf
src/redis-cli -p 26379
#注意别进错,进的是26379
# 查看主节点状态
sentinel master mymaster
# 副本状态
SENTINEL replicas mymaster
#分成两次截图
# 哨兵状态
SENTINEL sentinels mymaster
演示故障转移
方式:停掉当前哨兵节点redis后,再次查看哨兵状态。
1.关停111 redis
通过杀掉redis6379进程,查看三个哨兵日志sentinel.log
master已切换至113
查看节点角色进行确认
节点飘逸成功,至此,哨兵集群搭建完成,验证有效。
过程报错:
1.启动哨兵服务时出现报错:Duplicated master name
原因:sentinel.conf 配置文件多余重复配置
解决办法:删掉原本的无效配置,只留下我们需要的配置。
2.认证问题
10.100.101.111:6379> (error) NOAUTH Authentication required.
(error) ERR unknown command '(error)'
10.100.101.111:6379> auth "root"
OK
3.漂移失败
服务节点飘移验证环节中,手动杀掉主节点的服务后,哨兵可裁决主节点down了,但是并未发生服务节点向从节点漂移。
原因:未注意从节点与master节点redis.conf的配置区别,从节点需要增加配置:
slaveof <
masterip
> <
masterport
>
#主从复制使用,用于本机redis作为slave去连接主redis
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。