Redis一主二从搭建

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis一主二从搭建

Redis一主二从环境搭建

一主二从

e0e76ad2e93a44df9276d41931ef9ebe.png准备工作

安装VMWare


下载镜像


创建下面的目录


Redis-Cluster

master

master

vmdk

slave00

slave00

vmdk

slave01

slave00

vmdk

VMWare中安装CentOS7

1.自定义(高级)

27d511cf08f445a3aab49883574744df.png
2.默认

3.安装程序光盘映像文件

1.png
4.命名虚拟机,选择我们刚才创建的文件夹

2.png
5.处理器配置

3.png
6.配置内存

4.png
7.选择NAT网络

6.png
8.下面的选项都是默认

9.创建虚拟磁盘

5.png

10.分配内存大小

7.png
11.选择刚才创建的文件夹

8.png
12.完成

13.自动启动,选择第一项后,回车

14.选择中文

9.png
15.带有黄色感叹号的点进去后直接点击左上角的完成即可,无需更改任何配置


16.创建用户,设置root密码,等待安装完成就可以了


按照上述的操作步骤在安装两台系统


上述的第 4、11选之前创建的slave00、slave01文件夹下的对应文件夹


修改配置

为了方便下面会称


CentOS-Redis-Master 为 m


CentOS-Redis-Slave00为 s0


CentOS-Redis-Slave01 为 s1


分别将三台主机的localhost修改为:master、slave00、slave01


1.进入root

su
# 输入密码

2.修改hostname文件

vi /etc/hostname
# 删除 localhost.localdomain
# m写入 master
# s0写入 slave00
# s1写入 slave01

3.重启

配置网络

1.进入root

su

2.修改配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 修改 BOOTPROTO 为 static
BOOTPROTO=static
# 修改 ONBOOT 为 yes
ONBOOT=yes
# 在末尾添加下面的配置项
# 下面的 X.Y.Z需要修改成自己的地址的前三位,111为0~255之间的随机数
# 三台 linux 的 IPADDR 的最后一位不能重复
IPADDR=X.Y.Z.111
NATEMASK=255.255.255.0
GATEWAY=X.Y.Z.2
DNS1=8.8.8.8
DNS2=61.139.2.69

如何查看自己IP的前三位?

VMWare左上角 编辑 ——> 虚拟网络编辑器 ——> Vmnet8

10.png
3.重启

4.ping

ping www.baidu.com

如果能够ping通,则网络成功。

三台主机互通(互 ping),如果三台主机能够相互ping通,则成功

关闭防火

三台主机防火墙都需要关闭

systemctl disable firewalld
systemctl stop firewalld

安装redis单机

参考文章:CentOS下安装Redis7教程

只需要做到 拷贝配置文件 之前就可以了,redis一主二从拷贝配置文件使用下面的步骤。

拷贝配置文件

master

cd /opt/redis-7.0.9
mkdir /myredis
cp redis.conf /myredis/redis6379.conf

slave00

cd /opt/redis-7.0.9
mkdir /myredis
cp redis.conf /myredis/redis6380.conf

slave01

cd /opt/redis-7.0.9
mkdir /myredis
cp redis.conf /myredis/redis6381.conf

配置文件

master

# 修改 daemonize no 为 daemonize yes
daemonize yes
# 注释 bind 127.0.0.1 -::1
# bind 127.0.0.1 -::1
# 修改 protected-mode yes 为 protected-mode no
protected-mode no
# 指定端口
port 6379
# 指定当前的工作目录(修改 dir ./ 为 dir /myredis)
dir /myredis
# pid文件名字,pidfile
pidfile /var/run/redis_6379.pid
# log文件名字,logfile(修改 logfile "" 为 logfile "/myredis/6379.log")
logfile "/myredis/6379.log"
# requirepass foobared 取消注释,设置密码
requirepass 1234
# 修改 dbfilename dump.rdb 为 dbfilename dump6379.rdb
dbfilename dump6379.rdb
# 可选配置
# 修改 appendonly no 为 appendonly yes
appendonly yes

slave00

# 修改 daemonize no 为 daemonize yes
daemonize yes
# 注释 bind 127.0.0.1 -::1
# bind 127.0.0.1 -::1
# 修改 protected-mode yes 为 protected-mode no
protected-mode no
# 指定端口
port 6380
# 指定当前的工作目录(修改 dir ./ 为 dir /myredis)
dir /myredis
# pid文件名字,pidfile
pidfile /var/run/redis_6380.pid
# log文件名字,logfile(修改 logfile "" 为 logfile "/myredis/6380.log")
logfile "/myredis/6380.log"
# requirepass foobared 取消注释,设置密码
requirepass 1234
# 修改 dbfilename dump.rdb 为 dbfilename dump6380.rdb
dbfilename dump6380.rdb
# 可选配置
# 修改 appendonly no 为 appendonly yes
appendonly yes
# 在 # replicaof <masterip> <masterport> 下添加
# replicaof 主机ip 主机端口
replicaof 192.168.157.115 6379
# 在 # masterauth <master-password> 下添加
# masterauth 主机中配置的密码
masterauth "1234"

slave01

# 修改 daemonize no 为 daemonize yes
daemonize yes
# 注释 bind 127.0.0.1 -::1
# bind 127.0.0.1 -::1
# 修改 protected-mode yes 为 protected-mode no
protected-mode no
# 指定端口
port 6381
# 指定当前的工作目录(修改 dir ./ 为 dir /myredis)
dir /myredis
# pid文件名字,pidfile
pidfile /var/run/redis_6381.pid
# log文件名字,logfile(修改 logfile "" 为 logfile "/myredis/6381.log")
logfile "/myredis/6381.log"
# requirepass foobared 取消注释,设置密码
requirepass 1234
# 修改 dbfilename dump.rdb 为 dbfilename dump6381.rdb
dbfilename dump6381.rdb
# 可选配置
# 修改 appendonly no 为 appendonly yes
appendonly yes
# 在 # replicaof <masterip> <masterport> 下添加
# replicaof 主机ip 主机端口
replicaof 192.168.157.115 6379
# 在 # masterauth <master-password> 下添加
# masterauth 主机中配置的密码
masterauth "1234"

测试是否成功

分别启动三台主机

默认是 6379 端口,需要指定端口号启动

redis-server /myredis/redis6379.conf 
redis-cli -a 1234
redis-server /myredis/redis6380.conf 
redis-cli -a 1234 -p 6380
redis-server /myredis/redis6381.conf 
redis-cli -a 1234 -p 6381

查看主机 master 的日志

cd /myredis
cat 6379.log

11.png同理查看从机的日志。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
监控 NoSQL Redis
Redis一主二从Sentinel监控配置(保姆级教程)
Redis一主二从Sentinel监控配置(保姆级教程)
214 0
Redis一主二从Sentinel监控配置(保姆级教程)
|
运维 监控 NoSQL
Redis一主二从Sentinel监控配置
Redis一主二从Sentinel监控配置
497 0
Redis一主二从Sentinel监控配置
|
12天前
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
Redis应用—8.相关的缓存框架
|
8天前
|
存储 缓存 NoSQL
Redis缓存设计与性能优化
Redis缓存设计与性能优化涵盖缓存穿透、击穿、雪崩及热点key重建等问题。针对缓存穿透,可采用缓存空对象或布隆过滤器;缓存击穿通过随机设置过期时间避免集中失效;缓存雪崩需确保高可用性并使用限流熔断组件;热点key重建利用互斥锁防止大量线程同时操作。此外,开发规范强调键值设计、命令使用和客户端配置优化,如避免bigkey、合理使用批量操作和连接池管理。系统内核参数如vm.swappiness、vm.overcommit_memory及文件句柄数的优化也至关重要。慢查询日志帮助监控性能瓶颈。
40 9
|
3天前
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
3月前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
208 85
|
1月前
|
缓存 NoSQL 中间件
Redis,分布式缓存演化之路
本文介绍了基于Redis的分布式缓存演化,探讨了分布式锁和缓存一致性问题及其解决方案。首先分析了本地缓存和分布式缓存的区别与优劣,接着深入讲解了分布式远程缓存带来的并发、缓存失效(穿透、雪崩、击穿)等问题及应对策略。文章还详细描述了如何使用Redis实现分布式锁,确保高并发场景下的数据一致性和系统稳定性。最后,通过双写模式和失效模式讨论了缓存一致性问题,并提出了多种解决方案,如引入Canal中间件等。希望这些内容能为读者在设计分布式缓存系统时提供有价值的参考。感谢您的阅读!
131 6
Redis,分布式缓存演化之路
|
2月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
|
2月前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。