标签:ring mode 添加 down 机制 csdn 成功 redis 主从 注意
本文只讲如何部署,然后会贴出具体配置,以及如何验证是否部署成功(redis 版本采用 4.0.6 )。既不会介绍 redis 如何安装(本人采用源码安装方式),也不会涉及主从复制,哨兵模式具体原理及工作机制等内容。 后续会再补充 ~
关于 redis 的配置文件 redis.conf 的配置项,请参考
Redis配置文件详解, 下面贴出的配置只会粗略讲解。
名称 | 机器 1 | 机器2 | 机器2 |
---|---|---|---|
host | 10.211.55.8 | 10.211.55.9 | 10.211.55.11 |
端口 | 6379 | 6379 | 6379 |
角色1 | master | slave 01 | slave 02 |
角色2 | sentinel 01 | sentinel 02 | sentinel 03 |
看到这里,请先提前关闭三台机器的防火墙。防火墙不关闭,会出现 master 的数据不会同步到 slave 节点的情况
-- 关闭防火墙! -- 关闭防火墙! -- 关闭防火墙!
redis.conf
# 如果为 yes 只能通过(127.0.0.1)访问
protected-mode no
# 端口
port 6379
# 用守护线程的方式启动
daemonize yes
# pid 文件
pidfile ./redis.pid
# 日志
logfile ""
# 数据库数量
databases 16
# 开启 rdb 并设置备份规则
save 900 1
save 300 10
save 60 10000
# rdb 以及 aof 备份文件
dir ./
# rbd 文件名
dbfilename dump.rdb
# 密码
requirepass abc123!@#
# 主从配置,slave 访问 master 需要密码
masterauth abc123!@#
# Sentinel 模块的配置
slave-priority 100
sentinel.conf
protected-mode no
daemonize yes
# sentinel 端口
port 26379
dir ./
# 注意
sentinel monitor mymaster 10.211.55.8 6379 2
# 密码
sentinel auth-pass mymaster abc123!@#
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
logfile ./sentinel.log
slave 节点的配置只比 master 多了一个slaveof 10.211.55.8 6379
redis.conf
protected-mode no
port 6379
daemonize yes
pidfile ./redis.pid
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
dir ./
dbfilename dump.rdb
requirepass abc123!@#
# 跟 master 的区别,多了此配置
slaveof 10.211.55.8 6379
masterauth abc123!@#
slave-priority 100
sentinel.conf
protected-mode no
daemonize yes
# sentinel 端口
port 26379
dir ./
sentinel monitor mymaster 10.211.55.8 6379 2
sentinel auth-pass mymaster QpLpYnh619!
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
logfile ./sentinel.log
省略。。 跟机器 2 配置一样!!!! 当然如果密码不一样,你就改一下
请确认防火墙已经关闭 !!!!!!
首先验证主从复制,然后再验证哨兵模式是否成功,
源码安装方式,如果不指定参数,redis 启动脚本默认安装在 /usr/local/bin/ 下面
配置文件还是在 redis 的安装目录
进入master 的 redis 解压目录
启动 redis /usr/local/bin/redis-server redis.conf
分别进入两个 slave 机器的 redis 目录 ,执行步骤 2
在 master 上通过客户端连接 redis 服务端,即执行以下命令
/usr/local/bin/redis-cli -a abc123![@#](https://my.oschina.net/u/2839266)
------------------
abc123![@#](https://my.oschina.net/u/2839266) 是密码
在 redis 命令行上,执行 info replication 命令, 验证主从关系
# Replication
role:master (当前节点为 master)
connected_slaves:2 (2 个slave 节点)
slave0:ip=10.211.55.9,port=6379,state=online,offset=535,lag=1
slave1:ip=10.211.55.11,port=6379,state=online,offset=535,lag=1
master_replid:dbe7d07a45a521b1feb44117f9872bfde259aec3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:535
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:535
在 master 上添加数据,看 slave 上是否会同步数据
分别在三台机器上,进入 redis 解压目录,依次执行
/usr/local/bin/redis-sentinel sentinel.conf
连接任意 sentinel 节点,
redis-cli -h 10.211.55.9 -p 26379 -a abc123![@#](https://my.oschina.net/u/2839266)
在 redis 命令行上,执行 info sentinel 命令, 验证 sentinel 状态,
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=10.211.55.9:6379,slaves=2,sentinels=3
以上配置,亲测有效! 如有疑问,请留言~
redis 主从 + 哨兵模式集群部署(3 台机器部署方案)
标签:ring mode 添加 down 机制 csdn 成功 redis 主从 注意
原文地址:https://www.cnblogs.com/yaoyangding/p/14809199.html