欢迎光临
我们一直在努力

搭建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,会报错(从节点默认只读)

赞(0)
未经允许不得转载:171主机测评 » 搭建Redis 主从复制---实战
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址