Linux搭建redis一主一从配置,【Redis主从架构】搭建一个一主一从的Redis主从架构...

1. 学习目标

搭建一个一主一从的Redis主从架构。

主节点去写,从节点去读,如果在主节点写入数据之后,从节点能读取到,就说明搭建成功了。

2. 搭建 redis slave node

2.1 安装tcl

#1. 下载tcl安装包

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

#2. 解压tcl8.6.1-src.tar.gz

tar -zxvf tcl8.6.1-src.tar.gz

#3. 配置tcl

cd /usr/local/tcl8.6.1/unix

./conifgure

#4. 安装tcl

make && make install

复制代码

2.2 安装Redis

tar -zxvf redis-3.2.8.tar.gz

cd redis-3.2.8

make && make test && make install

复制代码

2.2.1 Redis生产环境启动方案配置

redis/utils目录下,有个redis_init_script脚本

08d678b83697d5ffdcbc39c231ea2c16.png

将redis_init_script脚本拷贝到 linux系统的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号080237978e14f6355aac00f1c6b4c2df.png

修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)

c0395c51013e79946af4ccda83060d90.png

创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)

mkdir /etc/redis

mkdir /var/redis/6379

复制代码修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf

redis.conf

4bfe10e373a110fab82a976a9459d2ed.png

8e236111316930beec9fe8b44dd0fd46.png

5.1 修改redis.conf中的部分配置为生产环境

#让redis以daemon进程运行

daemonize yes

#设置redis的pid文件位置

pidfile /var/run/redis_6379.pid

#设置redis的监听端口号

port 6379

#设置持久化文件的存储位置

dir /var/redis/6379

#绑定ip地址(本机的ip地址)

bind 192.168.0.111

复制代码

57afb4209c345d89605542ab09261793.png

cc5ed0d95b99439c850c29cac5770c4f.png

5b330c684b0ac5bf694e3ba050e0cb4d.png

5.2 设置redis跟随系统启动自启动**

在redis_6379脚本中,最上面,加入两行注释

#chkonfig: 2345 90 10

#description: Redis is a persistent key-value datebase

复制代码

40be553553ae1e57d8c7431b054eddc1.png

执行命令:chkconfig redis_6379 on

2.2.2 配置主从节点

在slave node配置:

#注意:redis3.x 版本是配置:slaveof 192.168.1.1 6379

#我用的是redis-5.x

replicaof 192.168.0.103

复制代码

792ceafc04be4965199dd38bd2f583dd.png

ec9c3d1782ae0e3b20ed42fab02e5cca.png

2.2.3 设置从节点只读

基于主从复制架构,实现读写分离

在slave node配置只读:

#配置只读(我用的的redis-5.x版本,redis-3.x版本配置为:slave-read-only yes)

replica-read-only yes

复制代码

1df5209e88dfefac9e483877b402a0c9.png

开启了只读的redis slave node,会拒绝所有的写操作,这样可以强制搭建读写分离的架构

2.2.4 集群安全认证

master node上启用安全认证,requirepass

#开启安全认证

requirepass foobared

复制代码

382172f7f962c7b34a9547c27047e38d.png

slave node上设置连接口令:

masterauth foobared

复制代码

0e028bee9cb6b554139acf216c5d33d0.png

2.2.5 防止意外,放开6379端口

iptables -A INPUT -ptcp --dport 6379 -j ACCEPT

复制代码

2.2.6 主从架构测试

启动主从节点,进入命令行:

redis-cli -h ipaddr

复制代码

执行命令,查看其他节点信息:

info replication

复制代码

在主上写,在从上读

从节点

740ff8fc087f618ca62391a16bece8ed.png

主节点

4707f5ac391a93fe1704a8fbf59ac25e.png

测试,主节点写一条数据,看能否从从节点获取到数据

Slave节点一连接到Master节点的时候,就会将Master节点的数据复制到slave节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值