linux配置Redis主从哨兵模式

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个哨兵
在这里插入图片描述

总结

结束结束。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值