linux配置Redis哨兵模式
文章目录
前言
本文基于redis哨兵模式的配置
提示:以下是本篇文章正文内容,下面案例可供参考
一、软件硬件需求
1.Lnux版本:CentOS Linux release 7.6
2.Redis安装包下载地址:https://repo.huaweicloud.com/redis/
本人使用5.06版本:下载redis-5.0.6.tar.gz
二、Linux安装Redis哨兵模式
1.上传安装包到Linux并解压
1.在home目录下面新建一个redis文件夹,把安装包上传到文件夹
命令如下:
cd /home //进入home文件夹
mkdir redis //新建redis文件夹
cd redis
tar -xvzf redis-5.0.6.tar.gz //解压redis安装包
2.解压后进入到src文件里面,如果没有如图这两个文件。Redis是C实现的,需要gcc来进行编译,然后进入到redis-5.0.6文件夹下执行make install
yum -y install gcc automake autoconf libtool make //安装C语言包
make install //进入文件夹下面执行make install
2.redis安装存放路径
1.在/usr/local/下面新建6个文件夹用于存放6个redis。(1主2从3哨兵)
cd /usr/local/
mkdir redis //创建redis文件夹
cd redis //进入文件夹
mkdir master //主数据库
mkdir slaves1 //从1
mkdir slaves2 //从2
mkdir sentinel1 //哨兵1
mkdir sentinel2 //哨兵2
mkdir sentinel3 //哨兵3
2.把解压在home目录下redis文件下的redis-5.0.6拷贝进去
cp -R /home/redis/redis-5.0.6/* /usr/local/redis/master
cp -R /home/redis/redis-5.0.6/* /usr/local/redis/slaves1
cp -R /home/redis/redis-5.0.6/* /usr/local/redis/slaves2
cp -R /home/redis/redis-5.0.6/* /usr/local/redis/sentinel1
cp -R /home/redis/redis-5.0.6/* /usr/local/redis/sentinel2
cp -R /home/redis/redis-5.0.6/* /usr/local/redis/sentinel3
3.配置主从模式
1.编辑主数据库master目录下的redis.conf文件修改配置
#redis端口
port 6379
# 使得Redis服务器可以跨网络访问
#bind 127.0.0.1
#关闭保护模式,可远程连接
protected-mode no
# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码)(这里不开启)
# requirepass masterpassword
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码(这里不开启)
# masterauth <master-password>
#开启后台守护线程
daemonize yes
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/usr/local/redis/logs/master.log"
2.编辑从数据库slaves1目录下的redis.conf文件修改配置
#redis端口
port 6380
# 注释这一行,表示Redis可以接受任意ip的连接
# bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 让redis服务后台运行
daemonize yes
# 设定master的IP和端口号,redis配置文件中的默认端口号是6379
# 低版本的redis这里会是slaveof,因为slave是比较敏感的词汇,所以在redis后面的版本中不在使用slave的概念,取而代之的是replica
# 将192.168.21.246做为主,其余两台机器做从。ip和端口号按照机器和配置做相应修改。
replicaof 192.168.21.246 6379
# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码)(这里不开启)
# requirepass masterpassword
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码(这里不开启)
# masterauth <master-password>
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/usr/local/redis/logs/slaves1.log"
3.编辑从数据库slaves2目录下的redis.conf文件修改配置
#redis端口
port 6381
# 注释这一行,表示Redis可以接受任意ip的连接
# bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 让redis服务后台运行
daemonize yes
# 设定master的IP和端口号,redis配置文件中的默认端口号是6379
# 低版本的redis这里会是slaveof,因为slave是比较敏感的词汇,所以在redis后面的版本中不在使用slave的概念,取而代之的是replica
# 将192.168.21.246做为主,其余两台机器做从。ip和端口号按照机器和配置做相应修改。
replicaof 192.168.21.246 6379
# 设定密码(可选,如果这里开启了密码要求,slave的配置里就要加这个密码)(这里不开启)
# requirepass masterpassword
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就必须填相应的密码(这里不开启)
# masterauth <master-password>
# 配置日志路径,为了便于排查问题,指定redis的日志文件目录
logfile "/usr/local/redis/logs/slaves2.log"
4.搭建完后启动运行redis
进入到主和从的目录文件下,都执行一遍
//进入主,启动redis
cd /usr/local/redis/master
./src/redis-server ./redis.conf
//进入从1,启动redis
cd /usr/local/redis/slaves1
./src/redis-server ./redis.conf
//进入从2,启动redis
cd /usr/local/redis/slaves2
./src/redis-server ./redis.conf
4.配置哨兵模式
1.编辑哨兵redis的sentinel1目录下的sentinel.conf文件修改配置
#端口
port 26379
#守护进程模式
daemonize yes
#关闭保护模式
protected-mode no
# 修改监控的主redis服务器
# 最后一个2表示,两台机器判定主被动下线后,就进行failover(故障转移)
sentinel monitor mymaster 192.168.21.246 6379 2
#master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 3000
#若哨兵在配置值内未能完成故障转移操作,则任务本次故障转移失败
sentinel failover-timeout mymaster 18000
#如果redis配置了密码,那这里必须配置认证,否则不能自动切换(这里不开启)
# sentinel auth-pass mymaster 123456
#指明日志文件名
logfile "/usr/local/redis/logs/sentinel1.log"
2.sentinel2和sentinel3配置都一样 就是端口是26380和26381还有日志文件名不一样
4.搭建完后启动运行哨兵redis
//进入sentinel1,启动redis
cd /usr/local/redis/sentinel1
./src/redis-sentinel ./sentinel.conf
//进入sentinel2,启动redis
cd /usr/local/redis/sentinel2
./src/redis-sentinel ./sentinel.conf
//进入sentinel3,启动redis
cd /usr/local/redis/sentinel3
./src/redis-sentinel ./sentinel.conf
5.连接Redis测试
可以进入到任意一个哨兵下面查看redis的信息
cd /usr/local/redis/sentinel1//进入主数据库目录
redis-cli //连接数据库
info //查看redis的配置信息
Address就是主数据库的地址,slaves有两个2库,sentinel=2是有2个哨兵
总结
结束结束。