首先配置一主多从示例如下:

1、两台主机IP地址如下:

主: 192.168.3.81  端口:6379

从:192.168.3.82   端口:6379

从:192.168.3.82   端口:6380

2、首先建立Redis数据存储目录

mkdir /var/lib/data/

3、master(6379端口)Redis配置文件设置

vim /etc/redis-6379.conf

bind 0.0.0.0
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 /var/log/redis/redis_6379.log
databases 16 save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump_6379.rdb
dir /var/lib/data masterauth 123456
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 lian919 appendonly yes
appendfilename "appendonly_6379.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 ""
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

3、slave(6379端口)配置文件设置

vim /etc/redis-6379.conf

bind 0.0.0.0
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 /var/log/redis/redis_6379.log
databases 16 save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump_6379.rdb
dir /var/lib/data slaveof 192.168.3.81 6379
masterauth 123456
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 123456 appendonly yes
appendfilename "appendonly_6379.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 ""
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

4、slave(6380端口)配置文件设置

vim /etc/redis-6380.conf

bind 0.0.0.0
protected-mode yes
port 6380
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis_6380.pid
loglevel notice
logfile /var/log/redis/redis_6380.log
databases 16 save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump_6380.rdb
dir /var/lib/data slaveof 192.168.3.81 6379
masterauth 123456
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 123456 appendonly yes
appendfilename "appendonly_6380.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 ""
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

注:关于配置文件说明查看:https://www.cnblogs.com/albert919/p/16511082.html

5、启动Redis主和从,启动命令如下

redis主启动命令:

redis-server /etc/redis-6379.conf

redis从(注:6379和6380端口)启动命令

redis-server /etc/redis-6379.conf 

redis-server /etc/redis-6380.conf

6、查看redis是否启动成功命令

ps  -ef |grep redis

注:如果有redis启动进程说明启动成功

7、查看从库连接主库是否成功。查看命令使用进入redis交互模式输入 info replication:查看如同示例

注:redis主从复制故障恢复

  1、redis主库主库出现故障后,直接把从库切换为主库命令为
  slaveof no one

  2、redis如果是一主多从的情况,主库出现故障后,把其中一台从库切换为主库后。其它从库需要重新建立的的主从关系
  slaveof 切换新的主库IP地址 切换新的主库端口

二、 哨兵模式配置

设置3个哨兵模式监控redis主从,如果redis主库宕机,至少两个哨兵节点同意才能切换。

3个哨兵分别建立在redis主从上面,redis主架设哨兵1,redis从架设哨兵2,哨兵3

1、哨兵模式端口分别为:

  1、redis主哨兵(IP:192.168.3.81):

    哨兵1端口:26379 (注:配置文件默认端口就是26379)

  2、redis从哨兵(IP: 192.168.3.82)

    哨兵2端口:26379

    哨兵3端口:26380

2、redis主哨兵(192.168.3.81)26379端口配置文件如下:

vim /etc/redis-sentinel-26379.conf

port 26379

protected-mode no

daemonize yes

dir /var/lib/data

logfile /var/log/redis/sentinel_26379.log

sentinel monitor mymaster 192.168.3.81 6379 2

sentinel auth-pass mymaster 123456

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 180000

3、redis从哨兵(IP:192.168.3.82)26379端口配置文件

vim /etc/redis-sentinel-26379.conf

port 26379

protected-mode no

daemonize yes

dir /var/lib/data

logfile /var/log/redis/sentinel_26379.log

sentinel monitor mymaster 192.168.3.81 6379 2

sentinel auth-pass mymaster 123456

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 180000

redis从哨兵(IP:192.168.3.82)26380端口配置文件

vim /etc/redis-sentinel-26380.conf

port 26380

protected-mode no

daemonize yes

dir /var/lib/data

logfile /var/log/redis/sentinel_26380.log

sentinel monitor mymaster 192.168.3.81 6379 2

sentinel auth-pass mymaster 123456

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 180000

注:

  1、sentinel monitor mymaster 192.168.3.81 6379 2

    monitor:代表监控

    mymaster:设置的别名,这个别名可以根据自己进行修改

    192.168.3.81 6379:192.168.3.81:代表的是redis主IP地址 6379:代表的是redis主端口

    2:判断redis主节点失败至少需要2个Sentinel节点同意切换

  2、关于配置文件说明访问:https://www.cnblogs.com/albert919/p/16511082.html

4、哨兵启动命令

26379端口哨兵启动命令:

redis-sentinel /etc/redis-sentinel-26379.conf

26380端口哨兵启动命令

redis-sentinel /etc/redis-sentinel-26380.conf

5、查看哨兵连接状态

redis-cli -p 26379 info sentinel

master0:name=mymaster,status=ok,address=192.168.3.81:6379,slaves=2,sentinels=3 红色方框内容说明

name=mymaster  #这里的mymaster显示是配置文件里面sentinel monitor mymaster 192.168.3.81 6379 2 这里的mymaster设置

status=ok #连接状态

address=192.168.3.81:6379 #哨兵监控redis主ip地址和端口

slaves=2 #这里显示有两个redis从节点

sentinels=3 #这里代表有3个哨兵节点

Redis一主多从哨兵模式的更多相关文章

  1. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  2. 扩展Redis的Jedis客户端,哨兵模式读请求走Slave集群

    原 扩展Redis的Jedis客户端,哨兵模式读请求走Slave集群 2018年12月06日 14:26:45 温故而知新666 阅读数 897   版权声明:本文为博主原创文章,遵循CC 4.0 b ...

  3. Redis主从集群及哨兵模式

    本次实验环境准备用一台服务器模拟3台redis服务器,1主2从 主从集群搭建 第一步:安装Redis 安装Redis,参考前面安装Redis文章,保证单机使用没有问题. 第二步:配置服务器文件 定位到 ...

  4. docker+redis安装与配置,主从+哨兵模式

    docker+redis安装与配置 docker安装redis并且使用redis挂载的配置启动 1.拉取镜像 docker pull redis:3.2 2.准备准备挂载的目录和配置文件 首先在/do ...

  5. Redis主从复制(Master/Slave) 与哨兵模式

    Redis主从复制是什么? 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 Redis主从复制 ...

  6. Redis高可用集群-哨兵模式(Redis-Sentinel)

     前言 Redis哨兵模式,用现在流行的话可以说就是一个“哨兵机器人”,给“哨兵机器人”进行相应的配置之后,这个"机器人"可以7*24小时工作,它能能够自动帮助你做一些事情,如监控 ...

  7. Redis系列-第六篇哨兵模式

    https://blog.csdn.net/niugang0920/article/details/97141175 Redis的主从复制模式下, 一旦主节点由于故障不能提供服务, 需要人工将从节点晋 ...

  8. redis集群搭建和哨兵模式以及AOF和RDB持久化

    Redis主从+哨兵模式 1.环境准备 (1)三台独立的linux主机 (2)IP分别为:10.150.200.182 (从) 10.150.200.184(从)  10.150.200.195(主) ...

  9. Redis(十一):哨兵模式架构设计分析

    业务最初的应用场景中,我们也许使用单机redis就可以应付业务要求,但并非一直可行. 比如单机的读写能力问题,单机的可用性问题,单机的数据安全性问题.这些都是许多互联网应用经常会遇到的问题,也基本上都 ...

  10. 基于Docker-compose搭建Redis高可用集群-哨兵模式(Redis-Sentinel)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_110 我们知道,Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3) ...

随机推荐

  1. 一步步教你在Edge浏览器上安装网风笔记

    微软于2022年6月15日正式结束对浏览器"Internet Explorer (IE)"的支持,IE已正式退出历史舞台,取而代之的是目前风头正盛的被微软称为当今最好用的Edge浏 ...

  2. Html飞机大战(十八): 模块化+项目开源

    好家伙,好久好久没有更新这个系列了   为了使文档更方便阅读,使代码更容易维护,来把这个飞机大战模块化 项目已开源: https://gitee.com/tang-and-han-dynasties/ ...

  3. ONNX模型分析与使用

    本文大部分内容为对 ONNX 官方资料的总结和翻译,部分知识点参考网上质量高的博客. 一,ONNX 概述 深度学习算法大多通过计算数据流图来完成神经网络的深度学习过程. 一些框架(例如CNTK,Caf ...

  4. [Unity]Unity更改黑色主题(个人版)

    前言 首先需要一款软件:Winhex,由于现在已经是2018年,大部分百度的软件都已经失效或者出现一堆bug,我费了九牛二虎之力才找到这个可用的,下面是下载地址: 链接:https://pan.bai ...

  5. 2022 CSP-J 游记

    Day − ∞ -\infty −∞ 在家里跟父母约定 "只要csp-j一等奖,手机随你挑!" 对于一个没有手机的初中生废物,这个约定显然勾引了我 刷题! 刷题! 再刷! 刷废-- ...

  6. pycharm下载安装与基本配置

    pycharm下载安装与基本配置 1.简介 PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用 ...

  7. 拜占庭将军问题与CAP

    1.拜占庭将军问题 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都.由于当时拜占庭罗马帝国国土辽阔,为了达到防御目的,每个军队都分隔很远,将军与将军之间只能靠信差传消息.在战争的时候,拜占庭军 ...

  8. 一幅图像为f=[1 4 7;2 5 8;3 6 9],设kx=1.8,ky=1.3,试采用最邻近插值对其进行放大,写出新图像矩阵。

    一幅图像为f=[1 4 7;2 5 8;3 6 9],设kx=1.8,ky=1.3,试采用最邻近插值对其进行放大,写出新图像矩阵.(请写出解题步骤,并编写程序进行结果验证) 参考 matlab代码如下 ...

  9. 字符串拼接输出-Predicate接口

    字符串拼接输出 下面的字符串数组当中存有多条信息,请按照格式""\姓名∶XX.性别:xx."的格式将信息打印出来.要求将打印姓名的动作作为第一个Consumer 接口的L ...

  10. 为啥要对jvm做优化?

    摘要:在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行.绝大部分的参数保持默认即可. 本文分享自华为云社区<为什么需要对jvm进行优化,jvm运行参数之标准参数& ...