9-redis主从复制:在项目中部署redis的读写分离架构(包含节点间认证口令)

本文介绍了Redis主从节点的安装、配置及集群安全认证。在两台机器上按步骤上传安装包、解压安装、配置文件并设置自启。主从结构配置需分别在主从节点配置文件中编辑,主节点要关闭防火墙。最后介绍了集群安全认证,通过修改配置文件设置认证密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主节点 与 从节点 安装

我们在01机器和02机器上进行安装redis,安装步骤相同

 

安装文件上传在/opt/redisdir文件夹中:先统一下需要的各类文件夹位置

/opt/redisdir/6379   -     持久化文件所在位置

/opt/redisdir/installdir    -     make安装的位置(安装完成后bin所在的文件夹)

/opt/redisdir/log         -     在redis配置文件中配置的日志所在位置

/opt/redisdir/redisconf    -     redis配置文件所在位置

/etc/init.d/redis_6379     -     redis跟随系统自启文件

 

1:上传安装包,然后解压进行安装。

tar -zxvf redis-5.0.5.tar.gz
cd redis-5.0.5
make PREFIX=/opt/redisdir/installdir install
# 以上命令对安装包进行解压后进行安装,PREFIX用来指定安装位置,/opt/redisdir/installdir
# 是我们指定的make安装的位置(安装完成后bin所在的文件夹)

2:配置文件redis.conf

 

#复制redis-5.0.5 根目录中的redis.conf 到 
#我们定义的redis配置文件所在文件夹中/opt/redisdir/redisconf,并且用对应的端口作为名称

cp /opt/redisdir/redis-5.0.5/redis.conf /opt/redisdir/redisconf/6379.conf

# (配置后面再说)

3: 将自启的脚本文件redis_init_ 复制到 /etc/ini.d下。命名为redis_6379

 

# 脚本文件redis_init_ 复制到 /etc/ini.d下。命名为redis_6379

cp /opt/redisdir/redis-5.0.5/utils/redis_init_script /etc/init.d/redis_6379

对redis_6379做一些配置的修改:

  • 修改点1:首先我们需要让redis跟随系统启动自动启动
在redis_6379脚本中,最上面,加入两行注释

# chkconfig:   2345 90 10

# description:  Redis is a persistent key-value database
  • 修改点2:
对于各个文件的位置都需要做一下更改,不然用默认的位置,肯定找不到的

REDISPORT  redis的端口(6379)

EXEC       redis启redis-server所在位置(bin下面)

CLIEXEC    redis启redis-cli所在位置 (bin下面)

PIDFILE     生成的pid文件所在位置(与redis配置文件中的需要一样)

CONF      配置文件所在位置(与redis配置文件中的需要一样)
  • 然后配置自启动使用命令:
#配置完成之后,使用命令将其配置成服务:

Chkconfig  redis_6379  on

 

以上基本上安装完成,并且可以启动。接下来是配置主从复制结构。

 

主从结构的配置

1:主节点的配置,在配置文件中配置

#1号机器作为主节点,编辑redis的配置文件/opt/redisdir/redisconf/6379.conf

vim /opt/redisdir/redisconf/6379.conf

然后对内容进行编辑:

# bind的地址改为本机的ip,如果是127.0.0.1的话从节点无法挂接过来
bind 192.168.1.51 

port 6379

# 守护进程运行
daemonize yes

# pid文件存放位置
pidfile /opt/redisdir/run/redis_6379.pid

#日志文件所在位置
logfile "/opt/redisdir/log"

# 持久化文件存放位置
dir /opt/redisdir/6379

注意:主节点需要关闭防火墙,不然从节点无法连接主节点

报错:
* MASTER <-> SLAVE sync started
 # Error condition on socket for SYNC: No route to host

再centos7中,使用命令 systemctl stop firewalld.service

其他版本使用service iptables stop

1:从节点的配置,在配置文件中配置

#2号机器作为主节点,编辑redis的配置文件/opt/redisdir/redisconf/6379.conf

vim /opt/redisdir/redisconf/6379.conf

 

然后对内容进行编辑:

# bind的地址改为本机的ip,如果是127.0.0.1的话从节点无法挂接过来
bind 192.168.1.52

#挂接到主节点
slaveof 192.168.1.51 6379

# 设置为只读模式
slave-read-only yes

port 6379

# 守护进程运行
daemonize yes

# pid文件存放位置
pidfile /opt/redisdir/run/redis_6379.pid

#日志文件所在位置
logfile "/opt/redisdir/log"

# 持久化文件存放位置
dir /opt/redisdir/6379

 

验证-启动主从节点

/opt/redisdir/installdir/bin/redis-server /opt/redisdir/redisconf/6379.conf

/opt/redisdir/installdir/bin/redis-cli -h xxx.xxx.xxx.xxx -p 6379

Info replication #命令查看主从信息

 

主节点

从节点

部署成功

 

集群安全认证

master上启用安全认证,requirepass

slace连接口令配置,masterauth

 

redis的验证机制也是相当的简单。在redis.conf中,有一句:

# requirepass foobared

去掉注释,把foobared改成自己的认证密码即可。

这样连接的时候, redis-cli  -h  x.x..x.x  -a passwd 即可,加上 -a 参数认证

 

如果主机配置了认证机制,在从机的 配置上,也加上认证密码即可。修改从机的配置redis.conf

#masterauth passwd

去掉注释,修改成主机的认证密码即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值