redis实战主从复制和搭建哨兵

目录

前言

1、搭建主从复制

1、主msater配置 

2、从slave配置

3、验证结果

二、搭建哨兵 

1、在所有节点修改配置文件

2、 启动哨兵

3、模拟故障

三、总结


前言

接着上回这次带来的实战主从复制和搭建哨兵

1、搭建主从复制

环境准备

主master:192.168.154.138

1号salve:192.168.154.131

2号slave:192.168.154.129

关闭防火墙做好同步时间

1、主msater配置 

yum install -y gcc gcc-c++ make
#安装依赖环境

tar zxvf redis-5.0.7.tar.gz -C /opt/
#将redis安装包解压到opt目录

cd /opt/redis-5.0.7/
make PREFIX=/usr/local/redis install
#进行make编译

cd /opt/redis-5.0.9/utils/
./install_server.sh
#修改启动脚本回车,直到出现以下选项,手动修改为“/usr/local/redis/bin/redis-server”
Please select the redis executable path [/usr/local/bin/redis-server] /usr/local/redis/bin/redis-server

ln -s /usr/local/redis/bin/* /usr/local/bin/
#设置软连接

2、从slave配置

vim /etc/redis/6379.conf
#修改主master配置文件

bind 0.0.0.0
#70行,修改监听地址为 0.0.0.0
daemonize yes  
#137行,开启守护进程   默认打开
logfile /var/1og/redis_6379.1og    
#172行,指定日志文件目录
dir /var/lib/redis/6379             
#264行,指定工作目录
appendonly yes                      
#700行,开启 AOF 持久化功能

/etc/init.d/redis_6379 restart
#重启服务

netstat -natp | grep 6379
#查看端口是否打开
在两个从服务器设置修改配置文件

vim /etc/redis/6379.conf
#70行,修改监听地址为 0.0.0.0

repicaof 192.168.154.138 6379
#288行,指定要同步的 Master 节点 IP 和端口

appendonly yes                      
#700行,开启 AOF 持久化功能

/etc/init.d/redis_6379 restart
#重启服务使配置生效

netstat -natp | grep 6379
#检查端口

3、验证结果

进入主master输入redis-cli info replication

然后可以看到两个slave服务器的IP

 或者在主master创建zhangsan键

 在两个从服务查看是否有复制的键

两个从服务器都有备份的数据

二、搭建哨兵 

哨兵基于主从复制环境依旧和上面一样

主master:192.168.154.138

1号salve:192.168.154.131

2号slave:192.168.154.129

1、在所有节点修改配置文件

vim /opt/redis-5.0.9/sentinel.conf

protected-mode no	
#17行,关闭保护模式(默认开启将他关掉)

daemonize yes
#26行 开启守护进程

logfile "/var/log/sentinel.log"	
#36行,指定日志存放路径

dir "/var/lib/redis/6379"
#65行,指定数据库存放路径

sentinel monitor mymaster 192.168.154.138 6379 2
#84行,指向master数据节点

sentinel down-after-milliseconds mymaster 30000
#113行不需要修改,哨兵判断master主观下线周期30秒(单位毫秒)

sentinel failover-timeout mymaster 180000
#146行不需要修改故障节点的最大超时时间180秒(单位毫秒)

2、 启动哨兵

cd /opt/redis-5.0.7
redis-sentinel sentinel.conf
#在主节点启动哨兵

redis-sentinel sentinel.conf
#从节点启动哨兵

netstat -natp | grep 26379
#可以看到从slave和其他哨兵节点

-------------------------------------------------------------------------------------------------------------------------------- 

redis-cli -p 26379 info sentinel
#查看其他哨兵信息

3、模拟故障

1、先看一下当前哨兵状态

2、模拟master故障

暴力删除主master,PID文件

rm -rf /var/run/redis_6379.pid

或者关闭主节点进程号

netstat -natp | grep 6379

 杀死这个进程号redis将退出

 关闭后等待20秒左右可以看到master主节点192.168.154.138变成了slave的192.168.154131

 哨兵切换成功

三、总结

以上只是redis高可用的搭建,我们更需要做的是对于服务器和redis数据库如何优化,尽可能避免数据丢失和发送故障的可能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值