准备两个redis服务,两台机器,依次命名文件夹子master,slave1

10.10.10.7

10.10.10.8

1、master修改配置文件

[root@db2 conf]# cat 6379.conf |grep -v "^$"|grep -v "^#"
daemonize yes (守护进程运行)
pidfile "/usr/local/redis/var/run/redis_6379.pid"
port 6379   (运行端口)
timeout 0
loglevel notice
logfile "/usr/local/redis/var/log/redis_6379.log"
databases 16
save 900 1
save 300 10
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump_6379.rdb"
dir "/usr/local/redis/var/db"
masterauth "IU8b2W4Nt9fIfLksLYfC"    (主从同步认证密钥,需在slave开启,配上也无所谓。)
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
requirepass "IU8b2W4Nt9fIfLksLYfC"
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

2、slave修改配置文件

[root@db1 conf]# cat 6379.conf |grep -v "^$"|grep -v "^#"
daemonize yes
pidfile "/usr/local/redis/var/run/redis_6379.pid"
port 6379
timeout 0
loglevel notice
logfile "/usr/local/redis/var/log/redis_6379.log"
databases 16
save 900 1
save 300 10
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump_6379.rdb"
dir "/usr/local/redis/var/db"
masterauth "IU8b2W4Nt9fIfLksLYfC"    (主从同步认证密钥,需在slave开启)
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
requirepass "IU8b2W4Nt9fIfLksLYfC"   (登录认证密码)
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
slaveof 10.10.10.8 6379 (指定master ip 端口)

3、分别启动两个redis服务。登录进去查看状态

master:输入info

slave:输入info

4、Redis哨兵(sentinel)实现主从切换:

(分别在master和slave上)编写配置文件:sentinel.conf

#sentinel端口
port 26379
dir "/usr/local/redis/var/db"
# 守护进程模式
daemonize yes
# 指明日志文件名
logfile "/usr/local/redis/var/sentinel.log"
#哨兵监控的master,主从配置一样,
sentinel monitor mymaster 10.10.10.8 6379 1
## master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 5000
##若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
##设置master和slaves验证密码
sentinel auth-pass mymaster 123456

5、然后启动

redis-sentinel sentinel.conf --sentinel

会看到master是10.10.10.7,然后停止master的redis进程后,会发现日志里发生了变化。

+convert-to-slave slave 10.10.10.7:6379 10.10.10.7 6379 @ mymaster 10.10.10.8 6379

ip已经由原来的10.10.10.7变为10.10.10.8,而sentinel.conf也会增加一段信息。

# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 2
sentinel leader-epoch mymaster 2
sentinel known-slave mymaster 10.10.10.8 6379
sentinel known-sentinel mymaster 10.10.10.7 26379 36fa39aed6988abeeffd6f558a5cdf50bd572fa1
sentinel current-epoch 2

redis的主从复制(读写分离)/哨兵(主从切换)配置的更多相关文章

  1. Mycat读写分离、主从切换、分库分表的操作记录

    系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一 ...

  2. Mycat读写分离、主从切换学习(转)

    http://blog.csdn.net/zhanglei_16/article/details/50707487 Mycat读写分离.主从切换学习问题一:分表.分库的优缺点,以及分表无法成为主流分表 ...

  3. mycat读写分离与主从切换【转】

    什么是mycat,以及mycat的优点和特性本文不做赘述,本文继续本着实战的态度,来分享一些个人对mycat的基础功能实践.本文mycat的读写分离和主从切换的环境为mysql主从环境. 如何安装my ...

  4. Redis哨兵模式(sentinel)部署记录(主从复制、读写分离、主从切换)

    部署环境: CentOS7.5  192.168.94.11 (master) 192.168.94.22 (slave0) 192.168.94.33 (slave1) 192.168.94.44 ...

  5. redis 主从复制+读写分离+哨兵

    1.redis读写分离应用场景 当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能.redis ...

  6. Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)

    Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel ...

  7. [转]Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)

    Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel ...

  8. redis的主从复制,读写分离,主从切换

    当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能. redis提供了一个master,多个s ...

  9. mycat读写分离与主从切换

    1, 分库分表的优缺点.以及为什么分表方式无法成为主流? 分表:在台server上,长处是易维护,相似表分区.缺点是在一台dbserver上.无法分担IO.负载集中. 分库:在多台server上,长处 ...

随机推荐

  1. MFC下用sdl 显示bmp、rgb、yuv

    #include <libsdl/SDL.h>//#include "SDL.h"#ifdef TEST_VGA16 /* Define this if you wan ...

  2. java字符流

    网上有很多地方说inputStreamReader和outStreamWriter.BufferedReader和BufferedWriter都是字符流.不过也有地方说inputStreamReade ...

  3. 安装STS报错(一)

    安装STS报错 1.具体报错如下 2.报错原因 3.解决办法

  4. freemarker报错之四

    1.错误描述 五月 28, 2014 9:56:48 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proce ...

  5. ajaxfileupload原理及用法,主要用于即想用ajax序列化传递参数,又必须上传文件

    一,原理 AjaxFileUpload.js并不是一个很出名的插件,只是别人写好的放出来供大家用,原理都是创建隐藏的表单和iframe然后用JS去提交,获得返回值. 当初做了个异步上传的功能,选择它因 ...

  6. 【原】Spring源码浅析系列-导入源码到Eclipse

    用了Spring几年,平时也断断续续在项目里看过一些源码,大多都是比较模糊的,因为一旦从一个地方进去就找不到方向了,只能知道它大概是做了什么事能达到这个功能或者效果,至于细节一般没有太深入去研究.后来 ...

  7. 由内搜推送思考Kafka 的原理

    刚入公司的两周多,对CDX项目有了进一步的认识和理解,在这基础上,也开始了解部门内部甚至公司提供的一些中间服务.CDX项目中涉及到的二方服务和三方服务很多,从之前写过的SSO,Auth,到三方图库的各 ...

  8. manacher模板(manacher)

    洛谷题目传送门 写完有一段时间了,发现板子忘记存在了这里...... 算法简述 一种字符串算法,\(O(n)\)高效求出以每个字符为对称中心的最长回文串长度. 然后,就可以进一步求出全串中最长回文串的 ...

  9. 【BZOJ2527】MET-Meteors(整体二分)

    [BZOJ2527]MET-Meteors(整体二分) 题面 BZOJ权限题,良心洛谷链接 题解 其实我也不会做 看了zsy博客才会做... 这题如果直接爆算做显然行不通 如果只有单次询问,我们就可以 ...

  10. 网页中输出HTML代码

    >>>>>> mustache.js的解决方案 var entityMap = { '&': '&', '<': '<', '>' ...