搭建 Redis 主从+哨兵集群

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 纯粹是为了记录搭建的过程。忘了就翻来看看。

纯粹是为了记录搭建的过程。忘了就翻来看看。


下载编译



  • 下载:
$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz


  • 解压:
$ tar -zxvf redis-5.0.3.tar.gz


  • 编译:
$ make install PREFIX=/opt/redis/redis-5.0.3


  • 拷贝配置文件:
$ cp redis.conf /opt/redis/redis-5.0.3/bin
$ cp redis-sentinel.conf /opt/redis/redis-5.0.3/bin


配置



  • 配置 redis.conf
# 这里需要配置内网地址,不要配置localhost, 不然只能单机自己玩
bind 内网地址
# 进程后台运行, 这个必须的
daemonize yes
# 如果是从服务器, 那么这里需要配置主服务器的地址和端口
slaveof 主地址 主端口


  • 配置 sentinel.conf
# 哨兵监听的端口
port 26379
# 进程后台运行, 这个必须的
daemonize yes
# 监视一个名为mymaster的主服务器,这个主服务器的 IP 地址为 172.17.4.57,端口号为 6379
# 后面那个2指的是将这个主服务器判断为失效至少需要1个Sentinel同意(只要同意Sentinel的数量不达标,自动故障迁移就不会执行)
sentinel monitor mymaster 172.17.4.57 6379 2


启动



  • 启动 redis
$ ./redis-server redis.conf


  • 启动哨兵监控
$ ./redis-sentinel sentinel.conf


  • 查看主从状态
$ ./redis-cli -h xxx.xxx.xx.x -p 6379
> info replication;
# 主服务器:
# Replication
role:master
connected_slaves:2
slave0:ip=172.17.4.58,port=6379,state=online,offset=20654866,lag=0
slave1:ip=172.17.4.59,port=6379,state=online,offset=20654852,lag=1
master_replid:cd484ba407267626276822a76c387aafc77c78c0
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:20655090
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:19606515
repl_backlog_histlen:1048576
# 从服务器
# Replication
role:slave
master_host:172.17.4.57
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:20675712
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:cd484ba407267626276822a76c387aafc77c78c0
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:20675712
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:19627137
repl_backlog_histlen:1048576


  • 查看哨兵状态
$ ./redis-cli -h xxx.xxx.xx.x -p 26379 info 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=172.17.4.57:6379,slaves=2,sentinels=3
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
监控 NoSQL Redis
看完这篇就能弄懂Redis的集群的原理了
看完这篇就能弄懂Redis的集群的原理了
236 0
|
2月前
|
存储 NoSQL Redis
redis主从集群与分片集群的区别
主从集群通过主节点处理写操作并向从节点广播读操作,从节点处理读操作并复制主节点数据,优点在于提高读取性能、数据冗余及故障转移。分片集群则将数据分散存储于多节点,根据规则路由请求,优势在于横向扩展能力强,提升读写性能与存储容量,增强系统可用性和容错性。主从适用于简单场景,分片适合大规模高性能需求。
72 5
|
4月前
|
监控 NoSQL 算法
Redis Sentinel(哨兵)详解
Redis Sentinel(哨兵)详解
246 4
|
5月前
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
6月前
|
运维 监控 NoSQL
【Redis】哨兵(Sentinel)原理与实战全解~炒鸡简单啊
Redis 的哨兵模式(Sentinel)是一种用于实现高可用性的机制。它通过监控主节点和从节点,并在主节点故障时自动进行切换,确保集群持续提供服务。哨兵模式包括主节点、从节点和哨兵实例,具备监控、通知、自动故障转移等功能,能显著提高系统的稳定性和可靠性。本文详细介绍了哨兵模式的组成、功能、工作机制以及其优势和局限性,并提供了单实例的安装和配置步骤,包括系统优化、安装、配置、启停管理和性能监控等。此外,还介绍了如何配置主从复制和哨兵,确保在故障时能够自动切换并恢复服务。
|
6月前
|
NoSQL Redis
Redis——单机迁移cluster集群如何快速迁移
Redis——单机迁移cluster集群如何快速迁移
179 0
|
6月前
|
NoSQL Linux Redis
使用docker-compose搭建redis-cluster集群
使用docker-compose搭建redis-cluster集群
677 0
|
6月前
|
NoSQL Linux Redis
基于redis6搭建集群
基于redis6搭建集群
|
存储 NoSQL 网络安全
Redis安装(单机、主从、哨兵、集群)
Redis安装(单机、主从、哨兵、集群)
179 1