准备两个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. Linux CentOS7下安装python3

    在CentOS7下,默认安装的就是python2.7,我现在来教大家如何安装python3: 1.首先安装python3.6可能使用的依赖 # yum -y install openssl-devel ...

  2. Ubuntu16.04+cuda9.0+matlab+opencv3.3+caffe服务器配置(问题汇总)

    Ubuntu16.04+cuda9.0+matlab+opencv3.3+caffe服务器配置(附遇到的错误和解决方法) 1.具体安装前需要的依赖包: ubuntu dependency: sudo ...

  3. Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in

    1.错误描述 严重: Exception sending context initialized event to listener instance of class org.springframe ...

  4. Struts+Spring+Hibernate、MVC、HTML、JSP

    javaWeb应用 JavaWeb使用的技术,比如SSH(Struts.Spring.Hibernate).MVC.HTML.JSP等等技术,利用这些技术开发的Web应用在政府项目中非常受欢迎. 先说 ...

  5. hdu5556 Land of Farms

    我对于题目的一种理解 改造农场 1.建新农场 在空的点选 2.重建旧农场 选一个点属于这个农场的地方都要选 最后的农场都不能相连 所以枚举旧农场的个数并进行二分图匹配 #include<bits ...

  6. class-支持向量机SVM全析笔记

    support vector machines,SVM是二类分类模型.定义在特征空间上间隔最大的线性分类器,由于包括核技巧实质上成为非线性分类器.学习策略是间隔最大化,可形式化为求解凸二次规划问题(c ...

  7. Duplicate entry '0' for key 'PRIMARY'的一种可能的解决办法

    在MySQL设计好数据库往往数据库中插入数据的时候, 因为主键ID默认是不赋值的,只给其他项目赋值了,相关的SQL代码是这样的 StringBuilder strSql = new StringBui ...

  8. Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台

    完成一套精准,漂亮图形化监控系统从这里开始第一步 Telegraf是收集和报告指标和数据的代理 它是TICK堆栈的一部分,是一个用于收集和报告指标的插件驱动的服务器代理.Telegraf拥有插件或集成 ...

  9. Axure 入门学习

    Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图.流程 ...

  10. Fragment加载方式与数据通信

    一.加载方式 1. 静态加载 1.1 加载步骤 (1) 创建fragment:创建自定义Fragment类继承自Fragment类,同时将自定义Fragment类与Fragment视图绑定(将layo ...