搭建Redis 主从复制---实战

1、搭建Redis 主从复制

Master节点: 10.8.0.25

Slave1节点: 10.8.0.26

Slave2节点: 10.8.0.27

systemctl stop firewalld

setenforce 0

2、安装 Redis

yum install -y gcc gcc-c++ make

#下载

wget -p /opt http://download.redis.io/releases/redis-5.0.7.tar.gz

tar zxvf redis-5.0.7.tar.gz -C /opt/

cd /opt/redis-5.0.7/

make

make PREFIX=/usr/local/redis install

cd /opt/redis-5.0.7/utils

./install_server.sh

......

Please select the redis executable path /usr/local/bin/redis-server

/usr/local/redis/bin/redis-server

ln -s /usr/local/redis/bin/* /usr/local/bin/

3、修改 Redis 配置文件(Master节点操作)

vim /etc/redis/6379.conf

bind 0.0.0.0 #70行,修改监听地址为0.0.0.0

daemonize yes #137行,开启守护进程

logfile /var/log/redis_6379.log #172行,指定日志文件目录

dir /var/lib/redis/6379 #264行,指定工作目录

appendonly yes #700行,开启AOF持久化功能

重启

/etc/init.d/redis_6379 restart

4、修改 Redis 配置文件(Slave节点操作)

vim /etc/redis/6379.conf

bind 0.0.0.0 #70行,修改监听地址为0.0.0.0

daemonize yes #137行,开启守护进程

logfile /var/log/redis_6379.log #172行,指定日志文件目录

dir /var/lib/redis/6379 #264行,指定工作目录

#288 行,指定要同步的Master节点IP和端口

replicaof 10.8.0.25 6379

appendonly yes #700行,开启AOF持久化功能

重启

/etc/init.d/redis_6379 restart

5、验证主从效果

在Master节点上看日志:

tail -f /var/log/redis_6379.log

在Slave上

redis-cli

replicaof 10.8.0.25 6379 asks for synchronization

意思:当前从节点已经连上主库 10.8.0.25:6379

在Master节点上验证从节点:

redis-cli info replication

Replication

role:master

connected_slaves:2

slave0:ip=192.168.10.18,port=6379,state=online,offset=1246,lag=0

slave1:ip=192.168.10.19,port=6379,state=online,offset=1246,lag=1

connected_slaves:2:主节点成功识别 2 台从机

state=online:两台从节点都在线、同步链路正常

lag=0/1:延迟几乎为 0,同步非常及时

字段简单解读(面试常考)

role:master 当前是主节点

offset:复制偏移量,主从 offset 一致代表数据同步完成

lag:从节点复制延迟,单位秒,0/1 属于正常

repl_backlog:复制积压缓冲区,用于增量同步(部分同步 PSYNC)

接下来可以做的测试

主节点写入:set msg hello_redis

去两台从机执行 get msg,都能读到数据

从机尝试写入 set a 1,会报错(从节点默认只读)

相关推荐
灵晔君2 小时前
【MySQL】数据库基础
数据库·mysql·adb
香蕉大香蕉(06敬畏市场)2 小时前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
赤生云电竞2 小时前
云游戏边缘节点部署:机房选址与网络拓扑优化实践——接入延迟、VXLAN与GPU虚拟化选型
数据库·游戏
李纲明3 小时前
微信小程序真机预览白屏或 request 失败:先核 request 合法域名与 TLS,再查体验版与本地缓存
缓存·微信小程序·小程序·小程序开发·devdiy·真机预览·合法域名
Y003 小时前
PostgreSQL 权限管理踩坑记:从 42501 到默认权限和 RLS
数据库·postgresql
呆萌很3 小时前
达梦(DM8)数据库常用SQL
数据库·sql
跟太阳说早安3 小时前
极简数据库SQL
数据库·sql
IT规划师4 小时前
Redis 数据类型全解 - List:用对是队列用错是灾难(二)
redis·消息队列·.net