Cntos7搭建redis主从复制,并模拟故障主从切换

主从复制搭建

主机:192.168.161.179

从机:192.168.161.180

1、        安装主redis

自己本地环境,关闭防火墙。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#setenforce 0

#systemctl stop firewalld

#systemctl disable firewalld

安装相关依赖

yum install –y gcc gcc-c++ make

下载redis4.0.2包

http://download.redis.io/releases/redis-4.0.2.tar.gz

下载好后上传至服务器,进行解压(我上传至opt目录)

解压后编译安装

cd redis-4.0.2/

make PREFIX=/usr/local/redis install

将redis-4.0.2目录的redis.conf sentinel.conf配置文件复制到安装目录/usr/local/redis

将redis-4.0.2/src目录的redis-cli redis-sentinel redis-server复制到安装目录 /usr/local/redis/

修改配置

Cd /usr/local/redis

Vim redis.conf

修改内容如下:

将bind 127.0.0.1这一行注释掉

将protected-mode yes改为protected-mode no

将daemonize no改为daemonize yes

将logfile ""改为logfile"/usr/local/redis/log/redis.log"

添加密码

Vim sentinel.conf

将sentinel monitor mymaster 127.0.0.1 6379 2改为sentinel monitor mymaster 192.168.161.179 6379 2

添加一下几行

daemonize yes

protected-mode no

logfile "/usr/local/redis/log/sentinel.log"

2、配置redis从

安装的方法及路径与redis1主一样

复制redis配置文件

cp redis.conf sentinel.conf /usr/local/redis/

cp redis-cli redis-sentinel redis-server /usr/local/redis/

cd /usr/local/redis/

vim redis.conf

修改内容如下:

将bind 127.0.0.1注释掉

将protected-mode yes改为protected-mode no

将daemonize no改为daemonize yes

将logfile ""改为logfile " /usr/local/redis/log/redis.log "

添加一行slaveof   192.168.161.179        6379   (主服务器ip)

配置密码

修改sentinel.conf

修改内容如下:

192.168.161,179是主服务器ip,这里是写主服务器的ip。

sentinel monitor mymaster 192.168.161.179 6379 2

daemonize yes

protected-mode no

logfile "/usr/local/redis/log/sentinel.log"

3、启动主机

启动主redis

./redis-cli -p 6379 -a 123456

启动从redis

./redis-cli -p 6379 -a 1234567

4、测试是否可以主从复制

主机上设置一个键值对

#set a 1

在从主机测试是否同步

#get a

从主机测试

#set b 2  (报错因为从机是只读,OK主从已经搭建ok)

日常的启动关闭主从的命令如下。

主从复制搭建成功。

模拟故障切换,将slave切换为主

5、测试主从切换,当主(master)出现故障时将从(slave)切换成主。

模拟主挂了,关闭主

Ps –ef | grep redis

./redis-cli -p 6379 -a 123456 shutdown

在从设备上关闭复制功能,并将从服务器变为主服务器,原来所得的数据集不会被丢弃。

./redis-cli -p 6379 -a 1234567 slaveof NO ONE

登陆:./redis-cli -p 6379 -a 1234567

查看是否变为主:info

从已经变回master,也可以写入数据

出现故障时将slave(从)切换为主ok。

6、测试原来的主redis恢复正常了,恢复回去。

先将现在的主redis数据进行保存

在将现在主redis根目录下的dump.rdb,文件拷贝到原来主redis的根目录,进行数据覆盖。

(我是远程拷贝过去的)

scp -P 22 dump.rdb root@192.168.161.179:/usr/local/redis/

启动原来的主。

在现在这个主在执行最后一步操作,就是将原来的主恢复,将现在这个主还是切换为从。

./redis-cli -p 6379 -a 1234567 slaveof 192.168. 161.179 6379

指定主服务器。

我们可以看看是否恢复原来的主,登陆原来的主查看。

登陆redis成功输入:info

已经恢复到原始环境。

最新文章

  1. git配置ssh(github)
  2. 前端学PHP之面向对象系列第一篇——类和对象
  3. Linux AVG ANTIVIRUS FREE使用介绍
  4. html5,video元素
  5. 记一次故障处理----主机异常关闭后mongodb二进制文件损坏
  6. Android listview下拉刷新 SwipeRefreshLayout
  7. profile工具
  8. JAVA使用EPoll来进行NIO处理的方法(转)
  9. .htaccess文件设置
  10. SpringSecutiry权限管理手册
  11. STM32F4xx时钟理解
  12. java中方法的参数传递机制
  13. J2EE 项目本地发布路径及修改
  14. 项目架构开发:数据访问层之UnitOfWork (补充)
  15. 通过url获取相应的location信息
  16. NSURLRequest的缓存策略
  17. c#抽取pdf文档标题(3)
  18. Windows上安装配置SSH教程(1)——知识点汇总
  19. Tunnels HDU - 4856
  20. POJ 2337 Catenyms(有向欧拉图:输出欧拉路径)

热门文章

  1. 将Cocos2d-x游戏打包成Android应用程序
  2. 查看本机外网ip地址
  3. Android MarginLeft与MarginStart的差别
  4. Struts2学习一----------Struts2的工作原理及HelloWorld简单实现
  5. Spring Security 表单登录
  6. Java编码辅助工具:Lombok —— 避免重复臃肿的代码,提高效率
  7. DataView中的 Sort 排序
  8. Unix环境高级编程---信号
  9. 【BZOJ4520】[Cqoi2016]K远点对 kd-tree+堆
  10. rtsp转rtmp、hls网页直播服务器EasyNVR前端兼容性调试:ie下的 pointer-events- none