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同理查看从机的日志。

相关文章
|
监控 NoSQL Redis
Redis一主二从Sentinel监控配置(保姆级教程)
Redis一主二从Sentinel监控配置(保姆级教程)
284 0
Redis一主二从Sentinel监控配置(保姆级教程)
|
运维 监控 NoSQL
Redis一主二从Sentinel监控配置
Redis一主二从Sentinel监控配置
575 0
Redis一主二从Sentinel监控配置
|
4月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
11天前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
75 1
Redis专题-实战篇二-商户查询缓存
|
4月前
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
714 0
|
11天前
|
缓存 NoSQL 关系型数据库
Redis缓存和分布式锁
Redis 是一种高性能的键值存储系统,广泛用于缓存、消息队列和内存数据库。其典型应用包括缓解关系型数据库压力,通过缓存热点数据提高查询效率,支持高并发访问。此外,Redis 还可用于实现分布式锁,解决分布式系统中的资源竞争问题。文章还探讨了缓存的更新策略、缓存穿透与雪崩的解决方案,以及 Redlock 算法等关键技术。
|
4月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
185 32
|
4月前
|
缓存 NoSQL Java
Redis:现代服务端开发的缓存基石与电商实践-优雅草卓伊凡
Redis:现代服务端开发的缓存基石与电商实践-优雅草卓伊凡
104 5
Redis:现代服务端开发的缓存基石与电商实践-优雅草卓伊凡
|
6月前
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
393 16
Redis应用—8.相关的缓存框架