Redis-简单实现星形主从配置
高级参考(https://www.zhihu.com/question/21419897)
简单应用场景
现在配置redis 星形 集群, 有三台服务器, 怎样实现?
复制redis.conf两份, 分别命名为redis6380.conf, redis6381.conf
master指向redis.conf, slave1指向6380.conf, slave2指向redis6381.conf
master关闭rdb, 开启aof
slave1开启rdb, 关闭aof
slave2关闭rdb和aof
配置redis6380.conf
#pidfile /var/run/redis.pid 改为
pidfile /var/run/redis6380.pid
...
#port 6379 改为
port 6380
...
#dbfilename dump.rdb 改为
dbfilename dump6380.rdb #让slave1执行rdb工作
...
# slaveof <masterip> <masterport> 改为
slaveof localhost 6379 #表示作为6379的slave
...
appendonly no #aof也不用产生, 因此关闭
...
slave-read-only yes #只读
配置redis6381.conf
pidfile /var/run/redis6381.pid
...
port 6381
...
#save 900 1 #两台从服务器其中一台产生rdb就可以了, 另一台没必要再次产生rdb, 因此注释掉
#save 300 10
#save 60 10000
...
appendonly no #aof也不用产生, 因此关闭
...
slaveof localhost 6379
...
slave-read-only yes #只读
配置redis.conf
#save 900 1 #因为slave1已经存在rdb了, 所以master不在需要rdb
#save 300 10
#save 60 10000
...
appendonly yes #master的aof可以打开, 因为主服务器的aof最全最快
启动, 分别在终端打开:
ql@ql:~$ redis-server /usr/local/etc/redis/redis.conf
ql@ql:~$ redis-server /usr/local/etc/redis/redis6380.conf
ql@ql:~$ redis-server /usr/local/etc/redis/redis6381.conf
启动master的客户端
ql@ql:~$ redis-cli
127.0.0.1:6379> set title sunshine
OK
127.0.0.1:6379>
启动slave1的客户端
ql@ql:~$ redis-cli -p 6380
127.0.0.1:6380> keys * #可以看到master中的内容
1) "title"
127.0.0.1:6380> get title
"sunshine"
127.0.0.1:6380>
启动slave2的客户端
ql@ql:~$ redis-cli -p 6381
127.0.0.1:6381> keys * #也能看到master中的内容
1) "title"
127.0.0.1:6381> get title
"sunshine"
127.0.0.1:6381>
现在要为master设置密码, 即redis.conf
# If the master is password protected (using the "requirepass" configuration
# directive below) it is possible to tell the slave to authenticate before
# starting the replication synchronization process, otherwise the master will
# refuse the slave request.
#
# masterauth <master-password>
requirepass admin123 #新加的一行
再次打开终端
打开reids-server
打开reids-cli
ql@ql:~$ redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required. #没有输入密码进行认证
127.0.0.1:6379>
127.0.0.1:6379> auth admin123 #auth+密码进行认证
OK
127.0.0.1:6379> keys *
1) "title"
127.0.0.1:6379> get title
"sunshine"
127.0.0.1:6379>
此时从服务器连不上主服务器, 因为有密码
修改redis6380.conf
# masterauth <master-password> 改为
masterauth admin123
redis6381.conf的修改如上
redis主从复制的缺陷
每次slave断开后(无论是主动断开还是网络故障), 再连接master,
都要 master 全部 dump 出来 rdb 再 aof,
即同步的过程都要执行一遍
所以: 多台slave不要一下同时启动起来, 否则master可能IO剧增, 拖垮master
Redis-简单实现星形主从配置的更多相关文章
- redis集群(主从配置)
市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redi ...
- Redis集群_主从配置
链接地址http://www.2cto.com/database/201502/377069.html 收藏备用. Redis主从配置(Master-Slave) 一. Redis Replicati ...
- Redis四大模式之主从配置
Redis工作模式主要有单机模式.主从模式(slave).哨兵模式(sentinel).集群模式(cluster)这四种,本文主要讲解一下主从模式的部署方式. 我是windows单机进行的这套搭建操作 ...
- Linux之redis的安装,主从配置
一,redis安装 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...
- Redis数据库之服务器主从配置
目的 主要培养对分布式REDIS主从复制架构运用的能力.理解并掌握REPLICATION工作原理的同时,能独立配置Replication ,使数据库运行在主从架格上.针对主从复制架构的运用,着力掌握S ...
- Redis 集群_主从配置_哨兵模式
首先:slaveof 可以在[从]服务器启动一个service服务,直接将[从]服务器定义为[从Redis] redis-server --slaveof <master-ip> < ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis 主从配置和参数详解
安装redis 下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 解压redis tar -xvf redis-.ta ...
- Redis安装及主从配置(转)
一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...
随机推荐
- ionic 使用了 crosswalkwebview 所产生的bug 及 解决方案
一.问题产生: 在ionic app 优化方案中,我在前之前的博文中提到使用 --crosswalkwebview: 使用了crosswalkwebview后,app的显示及兼容效果确实很不错,虽然a ...
- uwp版的音乐播放器练手
UWP项目之音乐播放器 这个项目本来是我女朋友的一个小作业,她做不出来,结果只能是我来代劳.经过几天的时间虽然赶出来了,但是自己不是很满意,还有很多不满意的地方,因此决定在最近的一段时间内,重新完成. ...
- .NET Core 2.0 Preview2 发布汇总
前言 关于 ASP.NET Core 2.0 的新功能可以查看我的这篇博客. 这篇文章是 Priview2中的一些改进. .NET Core 2.0 - Preview2 Azure 的改进 Dock ...
- Lamp单独安装(windows下)
安装的软件清单:apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msimysql-5.1.28-rc-win32.zipphp-5.2.6-Win32.zipphpM ...
- 几种MQ消息队列对比与消息队列之间的通信问题
消息队列 开发语言 协议支持 设计模式 持久化支持 事务支持 负载均衡支持 功能特点 缺点 RabbitMQ Erlang AMQP,XMPP,SMTP,STOMP 代理(Broker)模式(消息在发 ...
- 【Android Developers Training】 36. 设置文件共享
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 如何使用apktool反编译,查看androidmanifest的内容
1.下载apktool http://pan.baidu.com/s/1o7Jy090 2.使用方法
- Spring Security-自定义配置Filter
自定义配置Filter 一.最基础的配置 SecurityContextPersistenceFilter 用来建立 SecurityContext,而它被用来贯穿整个 request 过程以跟踪请求 ...
- JVM总结之GC
哪些内存需要回收 在Java堆中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要知道哪些对象还"存活着",哪些对象已经"死去". 引用计数 ...
- SpringJdbc持久层封装,Spring jdbcTemplate封装,springJdbc泛型Dao,Spring baseDao封装
SpringJdbc持久层封装,Spring jdbcTemplate封装,springJdbc泛型Dao,Spring baseDao封装 >>>>>>>& ...