Redis主从备份&哨兵设置

Redis 主从备份,哨兵设置

环境 Centos 7,redis 4.0.6

三个centos 7实例
节点 IP 端口
redis-master 172.31.193.221 6379
redis-slave 172.31.193.222 6379
redis-LBS 172.31.193.224 6379
redis-sentinel-master 172.31.193.221 26379
redis-sentinel-slave 172.31.193.222 26379
redis-sentinel-LBS 172.31.193.224 26379
1.将redis解压到目录(/bak/soft/)

tar -zxvf 压缩包名 解压目录

2.创建日志和数据恢复目录
mkdir -p /bak/soft/logs/redis
mkdir -p /bak/soft/cdata/redis
mkdir -p /bak/soft/logs/redis-sentinel
mkdir -p /bak/soft/cdata/redis-sentinel
3.配置redis-master.conf
bind 127.0.0.1 172.31.193.221
daemonize yes
masterauth "ADMINadmin123"
requirepass "ADMINadmin123"
pidfile "/var/run/redis_6379.pid"
loglevel notice
logfile "/bak/soft/logs/redis/redis.log"

#下面不用复制,作为参考,实际部署中根据需要配置
bind 127.0.0.1 172.31.193.221
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
loglevel notice
logfile "/bak/soft/logs/redis/redis.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/bak/soft/cdata/redis"
masterauth "rdhkdcX5xCoHNg86MV0Y"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "rdhkdcX5xCoHNg86MV0Y"
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events "xE"
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
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
hz 10
aof-rewrite-incremental-fsync yes
# Generated by CONFIG REWRITE
4.配置redis-slave.conf
bind 127.0.0.1 172.31.193.222
daemonize yes
masterauth "ADMINadmin123"
requirepass "ADMINadmin123"
dbfilename "dump.rdb"
dir "/bak/soft/cdata/redis"
pidfile "/var/run/redis_6379.pid"
loglevel notice
logfile "/bak/soft/logs/redis/redis.log"
slaveof 172.31.193.221 6379

#下面不用复制,作为参考,实际部署中根据需要配置
bind 127.0.0.1 172.31.193.221
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
loglevel notice
logfile "/bak/soft/logs/redis/redis.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/bak/soft/cdata/redis"
masterauth "rdhkdcX5xCoHNg86MV0Y"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "rdhkdcX5xCoHNg86MV0Y"
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events "xE"
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
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
hz 10
aof-rewrite-incremental-fsync yes
# Generated by CONFIG REWRITE
slaveof 172.31.193.221 6379
5.配置redis-LBS.conf
bind 127.0.0.1 172.31.193.224
daemonize yes
masterauth "ADMINadmin123"
requirepass "ADMINadmin123"
dbfilename "dump.rdb"
dir "/bak/soft/cdata/redis"
pidfile "/var/run/redis_6379.pid"
loglevel notice
logfile "/bak/soft/logs/redis/redis.log"
slaveof 172.31.193.221 6379

#下面不用复制,作为参考,实际部署中根据需要配置
bind 127.0.0.1 172.31.193.224
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
loglevel notice
logfile "/bak/soft/logs/redis/redis.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/bak/soft/cdata/redis"
masterauth "rdhkdcX5xCoHNg86MV0Y"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "rdhkdcX5xCoHNg86MV0Y"
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events "xE"
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
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
hz 10
aof-rewrite-incremental-fsync yes
# Generated by CONFIG REWRITE

slaveof 172.31.193.221 6379
6.配置sentinel.conf文件master&slave&LBS配置可以一样
protected-mode no
port 26379
daemonize yes
sentinel monitor mymaster 172.31.193.221 6379 2
logfile "/bak/soft/logs/redis/sentinel.log"
dir "/bak/soft/cdata/redis-sentinel"
sentinel auth-pass mymaster ADMINadmin123

#下面不用复制,myid为自动生成,slave节点也是自动添加
protected-mode no
port 26379
daemonize yes
sentinel myid f7564fc40667bb5e336c6566acc28654d0c40d39
sentinel monitor mymaster 172.31.193.221 6379 2
logfile "/bak/soft/logs/redis/sentinel.log"
dir "/bak/soft/cdata/redis-sentinel"
sentinel auth-pass mymaster ADMINadmin123
sentinel config-epoch mymaster 4
sentinel leader-epoch mymaster 4
sentinel known-slave mymaster 172.31.193.222 6379
sentinel known-slave mymaster 172.31.193.224 6379
sentinel known-sentinel mymaster 172.31.193.222 26379 96d7940391c5f9f386dedc1eb7a5b221e458428a
sentinel known-sentinel mymaster 172.31.193.224 26379 d5202361f59b4695ebe8a7cefd26c61466637554
sentinel current-epoch 4
7.配置redis.properties连接信息master&slave&LBS可以一样
redis.address=172.31.193.221:26379;172.31.193.222:26379;172.31.193.224:26379
redis.pool.testOnBorrow=true
redis.pool.testOnReturn=false
redis.pool.testWhileIdle=false
redis.pool.maxIdle=300
redis.pool.minIdle=15
redis.pool.maxActive=1000
redis.pool.maxWait=10000
redis.pool.timeout=10000
redis.pool.numTestsPerEvictionRun=0
redis.pool.timeBetweenEvictionRunsMillis=0
redis.pool.minEvictableIdleTimeMillis=0
redis.password=ADMINadmin123
redis.type=sentinel
redis.master.name=mymaster
8.修改防火墙规则,开放端口
#查看防火墙状态
service iptables status

#测试端口是否开放
telnet ip 端口

#修改防火墙规则
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 26379 -j ACCEPT

service iptables restart

#若已经启动redis,kill进程重启服务
ps aux |grep redis
kill -9 进程号
9.启动redis顺序,master—>slave&LBS—>三个哨兵
/bak/soft/redis-4.0.6/redis-server /etc/redis.conf
/bak/soft/redis-4.0.6/redis-sentinel /etc/sentinel.conf

#查看日志
tail 100 /bak/soft/logs/redis/redis.log

#查看日志
tail 100 /bak/soft/logs/redis/redis.log

10.测试停止master节点,slave或LBS节点将被选举为master节点

再重启master自动变成slave

原文地址:https://www.cnblogs.com/binjz/p/11169492.html

时间: 2024-08-29 14:28:16

Redis主从备份&哨兵设置的相关文章

Redis主从以及哨兵集群搭建(二)

Redis主从以及哨兵集群搭建 一.前言 Redis主从同步原理同MySQL的主从原理十分相似,而解决Redis单点故障的哨兵机制(sentinel)又同解决MySQL单点故障的MHA十分相似.因此我们在学习Redis时,可以将学习MySQL的知识迁移,这样一来,有利于我们快速掌握Redis主从机制,Redis哨兵集群的搭建.Redis的Sentinel机制大概是这样的.sentinel即哨兵,作用即放哨.开个玩笑,其实哨兵有三个作用:监控.通知和自动故障转移.哨兵是用来监控Redis的mast

Redis 主从、哨兵Sentinel、Jedis

Redis 主从.哨兵Sentinel.Jedis 2017年02月15日 15:52:48 有且仅有 阅读数 6183 文章标签: redis主从sentineljedis 更多 分类专栏: 7/12 Database 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010297957/article/details/55050098 上篇说到了Redis安装.运行.今天来看一看Red

redis 主从同步&哨兵模式&codis

原文:redis 主从同步&哨兵模式&codis 主从同步 1.CPA原理 1. CPA原理是分布式存储理论的基石: C(一致性):   A(可用性):  P(分区容忍性); 2. 当主从网络无法连通时,修改操作无法同步到节点,所以"一致性"无法满足 3. 除非我们牺牲"可用性",也就是暂停分布式节点服务,不再提供修改数据功能,知道网络恢复 一句话概括CAP: 当网络分区发生时,一致性 和 可用性 两难全 2.redis主从同步介绍 1. 和MySQ

redis主从,哨兵回忆手册

redis主从 持久化的开启与主从集群是否生效无关系 Slave Server同样是以非阻塞的方式完成数据同步.在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据(注意初次同步则会阻塞). Replication的工作原理: 如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行. 缺点主节点挂了,那么就只能提供读操作了. 应用示例: 这里我们假设Master-Slave已经建立. #启动master

Redis——主从和哨兵机制

一.主从和哨兵机制: 1)主从:配置多态主从服务器,解决高可用问题:一台主服务器对应多台从服务器,从服务器自动拷贝主服务器的数据: 2)哨兵:配置哨兵模式,用于解决主服务器挂掉,需要再次手动配置从服务器作为主服务的操作: 哨兵会自动选择一台数据偏移量最大的从服务器,作为新得主服务器: 二.主从服务器配置: 1)创建两文件夹:分别存放两个服务器得数据卷和配置文件: 2)在配置文件中配置主服务器得密码: masterauth 123456 3)使用docker启动两个容器:分别映射两个端口: doc

单机部署redis主从备份

redis为了避免单点故障,也支持主从备份.个人在做主从备份的实验时,因为机器数量有限,一般非常少有多台机器做支撑. 本文就将叙述怎样在一台电脑上实现redis的主从备份. 同一台机器上部署多个redis实例,为了避免冲突,每一个实例须要使用不同的port号.非常easy.在启动redis时,指定不同的port号,或者在配置文件里指定port号.我的这个实验是在配置文件里指定的port号: 然后在启动时,指定配置文件启动: ./redis-server ./redis.conf 还能够以其它方式

Redis 主从,哨兵,集群实战(四)

下载地址及版本说明 Redis 各版本下载地址: http://download.redis.io/releases/ 版本说明:一般来说版本号第二位,偶数是稳定版本,奇数是在开发中的版本 本文基于Redis 版本为:3.2.12 理论依据文章为: https://blog.csdn.net/sanri1993/article/details/101599701 https://blog.csdn.net/sanri1993/article/details/101620171 主从搭建 一主多从

nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存

一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发生单点故障,并且单服务器需要处理所有的请求会导致压力较大. 单台Redis服务器内存容量有限,不易扩展. 第一个问题可以通过Redis主从模式实现单节点的高可用(HA). 从节点(slave)是主节点(master)副本,当主节点(master)宕机后,Redis 哨兵(Sentinel)会自动将从

spring-data-redis,jedis和redis主从集成和遇到的问题

Redis主从加哨兵的部署详见http://www.cnblogs.com/dupang/p/6414365.html spring-data-redis和jedis集成代码总体结构 代码地址https://github.com/dupang/redistestwithspring pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM