redis 主从哨兵模式(一主二从)

本文介绍Redis主从哨兵模式(一主二从)的搭建。涵盖搭建环境,包括操作系统、Redis版本等;安装步骤,如上传、解压、编译安装;配置方面,介绍了redis.config文件的登录方式及参数说明,还提及通过客户端查看主从配置信息,以及sentinel.config文件的配置。

redis 主从哨兵模式(一主二从)

一、环境

操作系统:centos7.6/Mac OS
redis版本:6.2.5以上版本
ssh工具:xshell和xftp
springboot集成redis哨兵主从

二、安装

三台服务器上使用相同的方式安装redis

  • 把redis-6.2.5.tar.gz文件上传到服务的/usr/local/src/tools目录中
#> tar -xvf redis-6.2.5.tar.gz
  • 将解压后的文件移动到/usr/local目录下,并重命名redis
#> mv redis-6.2.5 /usr/local/redis
#> cd /usr/local/redis
  • 编译和安装
#> make
……
redis-6.2.5/deps/lua/test/fibfor.lua
redis-6.2.5/deps/lua/test/globals.lua
redis-6.2.5/deps/lua/test/hello.lua
redis-6.2.5/deps/lua/test/life.lua
redis-6.2.5/deps/lua/test/luac.lua
redis-6.2.5/deps/lua/test/printf.lua
redis-6.2.5/deps/lua/test/readonly.lua
redis-6.2.5/deps/lua/test/sieve.lua
redis-6.2.5/deps/lua/test/sort.lua
redis-6.2.5/deps/lua/test/table.lua
redis-6.2.5/deps/lua/test/trace-calls.lua
redis-6.2.5/deps/lua/test/trace-globals.lua
redis-6.2.5/deps/lua/test/xd.lua
redis-6.2.5/deps/update-jemalloc.sh
……
……
……
    INSTALL redis-sentinel
    CC redis-cli.o
    CC cli_common.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/usr/local/redis/src'
#> cd src/
#> make install
    CC Makefile.dep
Hint: It's a good idea to run 'make test' ;)
    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
三、配置

三台服务器上使用相同的方式配置redis

3.1、配置redis.config文件
#> vim redis.conf
# 配置bind
bind 0.0.0.0
# 配置protected-mode
protected-mode no
# 配置daemonize
daemonize yes
# 配置logfile
logfile "/usr/local/redis/logs/redis.log"
# 该配置仅在从节点上配置即可
replicaof 192.168.229.131 6379
# 配置主节点的访问密码
masterauth root
#配置当前redis节点的访问密码
requirepass root

# 启动redis
#> ./sre/redis-server ./redis.conf &
# 查看redis日志
#> tail -f ./logs/redis.log

登录redis的方式:

  1. 默认登录,命令:./src/redis-cli
  2. 远程登录,命令:./src/redis-cli -h 192.168.1.12 -p 6379
  3. 密码登录,命令:./src/redis-cli -a root

命令参数说明:
-h redis服务器地址
-p redis端口
-a 密码

  • 通过客户端进入redis中查看主从配置信息
#> ./src/redis-cli -a root
# 127.0.0.0:6379> info replication
role:master
connected_slaves:2
slave0:ip=192.168.229.132,port=6379,state=online,offset=1272,lag=0
slave1:ip=192.168.229.130,port=6379,state=online,offset=1272,lag=0
master_failover_state:no-failover
master_replid:e887e19ac3142730d8a39ee66ce7124c6ccfb31d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1272
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1272

从上role和connected_slaves两属性可以看出来,主从复制模式搭建成功

3.2、配置sentinel.config文件
#> vim sentinel
#配置daemonize
daemonize yes
#配置logfile
logfile "/usr/local/redis/logs/sentinel.log"
#配置sentinel monitor
sentinel monitor mymaster 192.168.229.131 6379 2
#配置sentinel对redis主节点auth-pass
sentinel auth-pass mymaster root
#配置sentinel当前节点的密码
requirepass root

# 启动哨兵
#> ./src/redis-sentinel sentinel.conf &
# 查看哨兵日志
#> tail -f logs/sentinel.log

### Redis 主从复制 Redis主从复制是种数据冗余备份的方式,通过设置个或多个从节点来同步节点的数据。这种方式可以提高系统的读取性能以及提供定程度上的高可用性[^1]。 #### 配置方法 为了实现主从复制,在配置文件中需要指定`slaveof`参数指向master IP地址和端口,并确保网络连通性和防火墙开放相应端口。对于更复杂的场景,则可以通过调整其他选项如只允许追加写入(`appendonly yes`)等方式增强安全性[^2]。 ```bash # Master Node Configuration (example.conf) port 6379 requirepass "yourpassword" # Slave Node Configuration (example.conf) port 6380 slaveof 192.168.x.y 6379 masterauth "yourpassword" ``` --- ### Redis 哨兵模式 哨兵系统由组sentinel进程组成,用于监控redis实例的状态并执行自动故障恢复操作。当检测到master失效时,会触发次新的选举过程选出个新的leader作为新master继续服务请求;同时通知客户端更新连接信息以便于快速切换访问路径[^3]。 #### 工作方式与优势 - **自动化运维**:无需人工干预即可完成failover(故障转移),减少停机时间。 - **多副本支持**:不仅限于简单的单向复制关系,而是形成了个多层架构下的可靠解决方案。 #### 安装部署指南 创建sentinel.conf并将以下内容加入其中: ```ini # Sentinel configuration file example sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 60000 sentinel auth-pass mymaster yourpasswordhere ``` 启动命令如下所示: ```shell script redis-sentinel /path/to/sentinel.conf --daemonize yes ``` --- ### Redis 集群模式 集群提供了水平扩展的能力,它允许多个redis server共同工作分担存储压力的同时也实现了分布式计算的功能。每个node负责部分key space, 并且这些nodes之间相互通讯保持致性的状态共享. #### 关键特性对比 | 特征 | 主从复制 | 哨兵模式 | 集群 | | --- | --- | --- | --- | | 数据分布 | 单点集中管理 | 多副本但单逻辑视图 | 分布式hash槽位划分 | | 故障处理能力 | 手动迁移/无 | 自动化Failover | 动态重分配slot | | 性能表现 | 较好读负载均衡 | 提升了可用性 | 支持大规模并发 | #### 构建步骤概览 初始化六个以上的奇数台机器形成cluster ring结构,每三台构成对replica set分别扮演不同的角色(master/slave), 使用官方工具`create-cluster.sh`脚本简化此过程: ```shell script ./src/create-cluster create ./tmp/nodes.conf ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值