redis一主二从三哨兵

发布时间 2023-10-19 21:09:47作者: cyj爱study

节点规划

准备三台虚拟机,使用CentOS-7-x86_64-DVD-2009.iso镜像

节点

IP

master

192.168.108.91

slave1

192.168.108.92

slave2

192.168.108.93

手动安装redis

1.解压 tar -zxvf redis-6.0.8.tar.gz

2.yum 安装 gcc (注意版本,5.3以上)

gcc -v ##查看版本号

升级gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash ##短期有效

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile ##长期有效

3.进入redis目录,make进行编译,进入redis/src目录下make install 安装(如果报错,使用make clean 清除已编译生成的文件)

cd redis-6.0.8

make ##进行编译

cd src

make PREFIX=/usr/local/redis install ##指定redis安装目录进行安装

make test ##进行测试

yum install tcl -y ##如果测试报错执行这个

基础准备

设置主机名与ip地址映射

关闭防火墙和selinux

配置一主二从

vi /usr/local/redis/redis.conf

bind 0.0.0.0 ##允许所有主机访问redis

protected-mode no ##关闭保护模式

daemonize yes ##开启后台运行模式

requirepass "123456" ##登陆redis数据库的密码认证

masterauth "123456" ##哨兵模式中设定主库密码与当前库密码同步,保证从库能够提升为主库

replicaof 主IP 6379

cp /usr/local/redis/redis.conf /etc/

/usr/local/redis/src/redis-server /etc/redis.conf ##指定文件

redis-cli

>auth 123456

>slaveof master 6379 ##从节点执行这句

>info replication ##主节点执行这句

配置哨兵模式

vi /usr/local/redis/sentinel.conf

sentinel monitor mymaster 192.168.13.139 6379 2   

##当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。mymaster是自定义的集群名字 (slave上面写的是master的ip,master写自己ip)

sentinel down-after-milliseconds mymaster 3000

#Sentinel判断3000毫秒没响应,认为主观下线

sentinel failover-timeout mymaster 10000

##若sentinel在该配置值内未能完成failover(故障转移)操作(即故障时master/slave自动切换),则认为本次failover失败

protected-mode no

##关闭加密模式

/usr/local/redis/src/redis-sentinel /etc/redis-sentinel.conf & ##后台启动

验证

master节点:

/usr/local/redis/src/redis-server /etc/redis.conf

redis-cli -p 26379

>info sentine