Redis主从加Sentinel模式部署
来源:互联网 发布:2017淘宝卖什么最赚钱 编辑:程序博客网 时间:2024/05/21 14:50
总体部署
- 一主二从三哨兵
- ip地址分配分别为
- 主 127.0.0.1:6379
- 从 127.0.0.1:6389
- 从 127.0.0.1:6399
- 哨兵 127.0.0.1:26379
- 哨兵 127.0.0.1:26389
- 哨兵 127.0.0.1:26399
一主二从的配置文件 redis.conf设置
主的保持默认的不变
二个从的分别打开配置文件
找到设置端口的地方
分别设置为 6389 和6399
# Accept connections on the specified port, default is 6379 (IANA #815344).# If port 0 is specified Redis will not listen on a TCP socket.port 6389
# Accept connections on the specified port, default is 6379 (IANA #815344).# If port 0 is specified Redis will not listen on a TCP socket.port 6399
然后都在
# slaveof <masterip> <masterport>
一行的下面增加
slaveof 127.0.0.1 6379
这样主从的配置就ok了
三个哨兵的sentinel.conf配置
分别打开sentinel.conf配置文件
修改他们的端口为
26379 26389 26399
sentinel monitor mymaster 127.0.0.1 6379 2
配置中的这一行表示 我们要监视的主的ip和端口,mymaster是主的名称,因为我们的主是127.0.0.1:6379,所以三个哨兵中的这个地方都不用修改。
然后所有的配置就ok了,本地测试环境貌似需要改动的地方不多。
启动
- 主
进入src目录
./redis-server ../redis.conf
25496:M 18 Feb 21:43:12.616 * Increased maximum number of open files to 10032 (it was originally set to 4864). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.8 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 25496 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-'25496:M 18 Feb 21:43:12.618 # Server started, Redis version 3.2.825496:M 18 Feb 21:43:12.618 * DB loaded from disk: 0.000 seconds25496:M 18 Feb 21:43:12.618 * The server is now ready to accept connections on port 637925496:M 18 Feb 21:43:21.196 * Slave 127.0.0.1:6389 asks for synchronization25496:M 18 Feb 21:43:21.196 * Full resync requested by slave 127.0.0.1:638925496:M 18 Feb 21:43:21.196 * Starting BGSAVE for SYNC with target: disk25496:M 18 Feb 21:43:21.197 * Background saving started by pid 2549825498:C 18 Feb 21:43:21.198 * DB saved on disk25496:M 18 Feb 21:43:21.198 * Background saving terminated with success25496:M 18 Feb 21:43:21.198 * Synchronization with slave 127.0.0.1:6389 succeeded25496:M 18 Feb 21:43:28.979 * Slave 127.0.0.1:6399 asks for synchronization25496:M 18 Feb 21:43:28.979 * Full resync requested by slave 127.0.0.1:639925496:M 18 Feb 21:43:28.979 * Starting BGSAVE for SYNC with target: disk25496:M 18 Feb 21:43:28.980 * Background saving started by pid 2550025500:C 18 Feb 21:43:28.986 * DB saved on disk25496:M 18 Feb 21:43:29.044 * Background saving terminated with success25496:M 18 Feb 21:43:29.044 * Synchronization with slave 127.0.0.1:6399 succeeded
- 从1
进入src目录
./redis-server ../redis.conf
25497:S 18 Feb 21:43:21.194 * Increased maximum number of open files to 10032 (it was originally set to 4864). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.8 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6389 | `-._ `._ / _.-' | PID: 25497 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-'25497:S 18 Feb 21:43:21.196 # Server started, Redis version 3.2.825497:S 18 Feb 21:43:21.196 * DB loaded from disk: 0.000 seconds25497:S 18 Feb 21:43:21.196 * The server is now ready to accept connections on port 638925497:S 18 Feb 21:43:21.196 * Connecting to MASTER 127.0.0.1:637925497:S 18 Feb 21:43:21.196 * MASTER <-> SLAVE sync started25497:S 18 Feb 21:43:21.196 * Non blocking connect for SYNC fired the event.25497:S 18 Feb 21:43:21.196 * Master replied to PING, replication can continue...25497:S 18 Feb 21:43:21.196 * Partial resynchronization not possible (no cached master)25497:S 18 Feb 21:43:21.197 * Full resync from master: b17cd8764974c68bedacb2e5927a04e9ff15f7df:125497:S 18 Feb 21:43:21.198 * MASTER <-> SLAVE sync: receiving 108 bytes from master25497:S 18 Feb 21:43:21.198 * MASTER <-> SLAVE sync: Flushing old data25497:S 18 Feb 21:43:21.198 * MASTER <-> SLAVE sync: Loading DB in memory25497:S 18 Feb 21:43:21.199 * MASTER <-> SLAVE sync: Finished with success
- 从2
进入src目录
./redis-server ../redis.conf
25499:S 18 Feb 21:43:28.975 * Increased maximum number of open files to 10032 (it was originally set to 4864). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.8 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6399 | `-._ `._ / _.-' | PID: 25499 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-'25499:S 18 Feb 21:43:28.977 # Server started, Redis version 3.2.825499:S 18 Feb 21:43:28.977 * DB loaded from disk: 0.000 seconds25499:S 18 Feb 21:43:28.977 * The server is now ready to accept connections on port 639925499:S 18 Feb 21:43:28.979 * Connecting to MASTER 127.0.0.1:637925499:S 18 Feb 21:43:28.979 * MASTER <-> SLAVE sync started25499:S 18 Feb 21:43:28.979 * Non blocking connect for SYNC fired the event.25499:S 18 Feb 21:43:28.979 * Master replied to PING, replication can continue...25499:S 18 Feb 21:43:28.979 * Partial resynchronization not possible (no cached master)25499:S 18 Feb 21:43:28.980 * Full resync from master: b17cd8764974c68bedacb2e5927a04e9ff15f7df:1525499:S 18 Feb 21:43:29.044 * MASTER <-> SLAVE sync: receiving 108 bytes from master25499:S 18 Feb 21:43:29.045 * MASTER <-> SLAVE sync: Flushing old data25499:S 18 Feb 21:43:29.045 * MASTER <-> SLAVE sync: Loading DB in memory25499:S 18 Feb 21:43:29.045 * MASTER <-> SLAVE sync: Finished with success
- 哨兵1
进入src目录
./redis-sentinel ../sentinel.conf
25501:X 18 Feb 21:43:35.300 * Increased maximum number of open files to 10032 (it was originally set to 4864). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.8 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in sentinel mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 26379 | `-._ `._ / _.-' | PID: 25501 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-'25501:X 18 Feb 21:43:35.301 # Sentinel ID is 6f3360c06cafe7807e2c1ae00fe7c791354b8b2425501:X 18 Feb 21:43:35.301 # +monitor master mymaster 127.0.0.1 6379 quorum 2
- 哨兵2和哨兵3启动过程相同
验证
新开一个命令行窗口进入redis的src目录,用redis-cli工具登录其中一个哨兵
./redis-cli -p 26379
连接成功后运行如下命令
sentinel master mymaster
结果如下
127.0.0.1:26379> sentinel master mymaster 1) "name" 2) "mymaster" 3) "ip" 4) "127.0.0.1" 5) "port" 6) "6379" 7) "runid" 8) "b17cd8764974c68bedacb2e5927a04e9ff15f7df" 9) "flags"10) "master"11) "link-pending-commands"12) "0"13) "link-refcount"14) "1"15) "last-ping-sent"16) "0"17) "last-ok-ping-reply"18) "703"19) "last-ping-reply"20) "703"21) "down-after-milliseconds"22) "30000"23) "info-refresh"24) "1090"25) "role-reported"26) "master"27) "role-reported-time"28) "3253725"29) "config-epoch"30) "0"31) "num-slaves"32) "2"33) "num-other-sentinels"34) "2"35) "quorum"36) "2"37) "failover-timeout"38) "180000"39) "parallel-syncs"40) "1"
0 0
- Redis主从加Sentinel模式部署
- centos6.5 redis sentinel主从模式配置
- redis主从切换---Sentinel(哨兵模式)
- redis主从+sentinel
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis部署及其高可用方案:主从+sentinel,安装步骤
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- redis主从集群搭建及容灾部署(哨兵sentinel)
- spring-data-redis连接sentinel主从切换模式
- redis sentinel高可用主从切换(非集群模式)
- Redis Sentinel 安装部署
- redis+sentinel集群部署
- redis-sentinel安装部署
- 7.Redis主从切换--Sentinel
- redis主从复制+sentinel集群
- 蓝桥 Excel地址转换
- java中ArrayList与LinkedList的原理及区别
- c语言实现链式队列
- C++学习笔记-set容器
- setOnPageChangeListener方法过期
- Redis主从加Sentinel模式部署
- Java技术 —— 类的设计技巧
- weiruan
- 配置java开发环境及Java中JDK环境变量的配置最常见的错误
- Hadoop2.6.0基础上搭建Spark1.5详细步骤
- WindowManager解析(二)Android悬浮框无法弹出输入法的原因和无需权限显示悬浮窗
- 大话设计模式学习之工厂模式和策略模式
- 目标检测算法汇总
- (4)-openfire-IntelliJ IDEA插件环境搭建