云服务器 Redis 集群搭建
集群搭建说明
为什么会出现 3 种搭建集群的方式?
主从复制架构集群存在的问题:Master 节点单点故障问题
Sentinel(哨兵)集群存在的问题:解决了 Master 单点故障的问题,同时带来了新的问题 -> 单个节点无法存储全量数据,需要把数据分区存储在每一个节点
主从复制架构搭建
集群架构介绍
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器
前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点
主从模式
① 一主一从
如下图所示左边是 Master 节点,右边是 slave 节点,即主节点和从节点。从节点也是可以对外提供服务的,主节点是有数据的,从节点可以通过复制操作将主节点的数据同步过来,并且随着主节点数据不断写入,从节点数据也会做同步的更新。从节点起到的作用主要是数据备份

② 一主多从
一个 Master 可以有多个 slave,也就相当于有了多份的数据副本,是一个一个高可用的选择,例如一个 Master 和一个 slave 挂掉了,还能有其他的 slave 数据备份

主从复制原理
① 当从数据库启动后,会向主数据库发送 SYNC 命令
② 主数据库接收到 SYNC 命令后开始在后台保存快照(RDB持久化),并将保存快照期间接收到的命令缓存起来
③ 快照完成后,Redis(Master)将快照文件和所有缓存的命令发送给从数据库
④ Redis(Slave)接收到 RDB 和缓存命令时,会开始载入快照文件并执行接收到的缓存的命令
在之后每当主数据库接收到写命令时,就会将命令同步给从数据库
主从复制架构的使用场景
适用于 读多写少 的场景,通过主从复制功能来建立多个从数据库节点,主数据库只进行写操作,从数据库负责读操作。当单个主无法处理过多写操作的时候,需要使用 Redis 3.0 推出的集群功能
环境准备
服务器准备
| node1/172.17.0.8 | node2/172.17.30.12 | node3/172.17.30.26 |
|---|---|---|
| 主 | 从 | 从 |
安装包准备
Redis 依赖环境准备
# 在 3 台服务器上都执行
yum -y install gcc-c++
安装
① 解压
# 在 /opt/server 下解压安装包(可自定义安装目录)
tar -zxvf redis-3.2.8.tar.gz
# 3 台服务器解压后的目录(3 台尽量路径相同,方便排查问题)
/opt/server/redis-3.2.8
② 安装 TCL
# 在 node2 和 node3 上执行即可
yum -y install tcl
③ 编译 Redis
# 3 台服务器都执行
cd /opt/server/redis-3.2.8/
# 执行编译和安装
make PREFIX=/opt/server/redis-3.2.8-bin install
④ 创建 备份文件 和 日志存放目录
# 3 台服务器都执行
cd /opt/server/redis-3.2.8-bin/
mkdir -p /opt/server/redis-3.2.8-bin/log
mkdir -p /opt/server/redis-3.2.8-bin/data
配置及启动
① 配置 node1 的 redis.conf
# 进入安装目录
cd /opt/server/redis-3.2.8-bin/
# 修改配置文件
vim redis.conf
# 增加以下内容
# 修改第128行
daemonize yes
# 修改第163行
logfile "/opt/server/redis-3.2.8-bin/log/redis.log"
# 修改第247行
dir /opt/server/redis-3.2.8-bin/data
② 配置 node2 和 node3 的 redis.conf

最低0.47元/天 解锁文章
662

被折叠的 条评论
为什么被折叠?



