Redis一主二从搭建

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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监控配置(保姆级教程)
145 0
Redis一主二从Sentinel监控配置(保姆级教程)
|
运维 监控 NoSQL
Redis一主二从Sentinel监控配置
Redis一主二从Sentinel监控配置
453 0
Redis一主二从Sentinel监控配置
|
26天前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
60 1
|
26天前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(二)
数据的存储--Redis缓存存储(二)
37 2
数据的存储--Redis缓存存储(二)
|
22天前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
56 6
|
27天前
|
缓存 NoSQL 关系型数据库
redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿
本文深入探讨了Redis缓存的相关知识,包括缓存的概念、使用场景、可能出现的问题(缓存预热、缓存穿透、缓存雪崩、缓存击穿)及其解决方案。
127 0
redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿
|
2天前
|
存储 缓存 监控
利用 Redis 缓存特性避免缓存穿透的策略与方法
【10月更文挑战第23天】通过以上对利用 Redis 缓存特性避免缓存穿透的详细阐述,我们对这一策略有了更深入的理解。在实际应用中,我们需要根据具体情况灵活运用这些方法,并结合其他技术手段,共同保障系统的稳定和高效运行。同时,要不断关注 Redis 缓存特性的发展和变化,及时调整策略,以应对不断出现的新挑战。
21 10
|
2天前
|
缓存 监控 NoSQL
Redis 缓存穿透的检测方法与分析
【10月更文挑战第23天】通过以上对 Redis 缓存穿透检测方法的深入探讨,我们对如何及时发现和处理这一问题有了更全面的认识。在实际应用中,我们需要综合运用多种检测手段,并结合业务场景和实际情况进行分析,以确保能够准确、及时地检测到缓存穿透现象,并采取有效的措施加以解决。同时,要不断优化和改进检测方法,提高检测的准确性和效率,为系统的稳定运行提供有力保障。
20 5
|
2天前
|
缓存 监控 NoSQL
Redis 缓存穿透及其应对策略
【10月更文挑战第23天】通过以上对 Redis 缓存穿透的详细阐述,我们对这一问题有了更深入的理解。在实际应用中,我们需要根据具体情况综合运用多种方法来解决缓存穿透问题,以保障系统的稳定运行和高效性能。同时,要不断关注技术的发展和变化,及时调整策略,以应对不断出现的新挑战。
17 4