10. 在项目中部署redis的读写分离主从架构

搭建步骤

一主一从,往主节点去写,在从节点去读,可以读到,主从架构就搭建成功了,包含节点间认证口令

启用复制,部署slave node

在另外一台服务器上部署从节点;

  1. 安装tcl8.6.1-src.tar.gz
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz
cd  /usr/local/tcl8.6.1/unix/
./configure  
make && make install
  1. 使用redis-3.2.8.tar.gz(可以使用最新稳定版)
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
make && make test && make install
make install
  1. redis utils目录下,有个redis_init_script脚本
  2. 将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
  3. 修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
  4. 创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
  5. 修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf
  6. 修改redis.conf中的部分配置为生产环境
daemonize	yes							让redis以daemon进程运行
pidfile		/var/run/redis_6379.pid 	设置redis的pid文件位置
port		6379						设置redis的监听端口号
dir 		/var/redis/6379				设置持久化文件的存储位置
  1. 让redis跟随系统启动自动启动,在redis_6379脚本中,最上面,加入两行注释
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

接着执行: chkconfig redis_6379 on

  1. 配置作为从节点。在slave node上配置:slaveof 192.168.1.1 6379,即可,

也可以使用slaveof命令

加粗样式**

强制读写分离

  1. 基于主从复制架构,实现读写分离
  2. redis slave node只读,默认开启,slave-read-only
  3. 开启了只读的redis slave node,会拒绝所有的写操作,这样可以强制搭建成读写分离的架构
    在这里插入图片描述

集群安全认证

配置后,redis-cli 要输入密码,本地测试可以去掉。redis-cli -h 192.168.0.107 -a redis-pass

  1. master上启用安全认证,requirepass
    在这里插入图片描述
  2. slave连接master口令,masterauth
    在这里插入图片描述

读写分离架构的测试

  1. 先启动主节点,eshop-cache01上的redis实例
  2. 再启动从节点,eshop-cache02上的redis实例

/etc/init.d/redis_6379 start

  1. 如果从节点启动报错
    在这里插入图片描述
    从节点重新执行 make install
    在这里插入图片描述
  2. 测试主从节点数据同步,发现slave节点并没有同步master节点数据。
    在这里插入图片描述
  3. telnet测试一下ip和端口,redis slave node没有连接到redis master node的6379的端口
    在这里插入图片描述
yum install -y telnet
telnet eshop-cache01 6379
  1. 解决:在搭建生产环境的集群的时候,不要忘记修改一个配置,bind 127.0.0.1 -> 本地的开发调试的模式,就只能127.0.0.1本地才能访问到6379的端口,每个redis.conf中的bind 127.0.0.1 -> 修改为bind自己的ip地址
    在这里插入图片描述
  2. 端口放开(默认已经放开了),在每个节点上都: iptables -A INPUT -ptcp --dport 6379 -j ACCEPT
  3. 主从节点各自连接,查看从节点数据信息;
redis-cli -h ipaddr
info replication

在这里插入图片描述

可以测试在主上写一个key,在从上读

发布了20 篇原创文章 · 获赞 3 · 访问量 4529

猜你喜欢

转载自blog.csdn.net/qq_34246646/article/details/104306660
10.
今日推荐