当前位置: 首页 > news >正文

Redis主从复制实验

一、实验环境

  • 操作系统:RHEL 9

  • Redis版本:Redis 7.2.4

  • 主机数量:3台(1台主节点,2台从节点)

  • 主机配置

    主机IP地址Redis端口
    主节点192.168.65.1316379
    从节点1192.168.65.1326379
    从节点2192.168.65.1336379

二、实验步骤

(一)安装Redis

  1. 安装依赖

    yum install -y gcc gcc-c++ make

    解释:安装Redis所需的编译工具和库。

  2. 下载并编译Redis

    wget https://download.redis.io/releases/redis-7.2.4.tar.gz
    tar -zxvf redis-7.2.4.tar.gz
    cd redis-7.2.4
    make
    make install PREFIX=/usr/local/redis

    解释

    • wget:下载Redis源码包。

    • tar:解压源码包。

    • make:编译Redis。

    • make install:安装Redis到指定目录(/usr/local/redis)。

  3. 创建符号链接

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

    解释:将Redis的可执行文件链接到全局命令路径,方便直接调用。

/usr/local/bin 通常被包含在系统的 PATH 环境变量中,这意味着你可以在任何位置直接调用该目录下的命令,而不需要指定完整的路径。通过将Redis的可执行文件链接到 /usr/local/bin,你可以在任何位置直接使用 redis-serverredis-cli 等命令 

(二)配置主节点

  1. 创建主节点配置文件

    mkdir -p /usr/local/redis/6379
    cp redis.conf /usr/local/redis/6379/

    解释:创建主节点的配置目录,并复制默认配置文件。

  2. 修改主节点配置 编辑 /usr/local/redis/6379/redis.conf,修改以下内容:

    daemonize yes
    port 6379
    pidfile /var/run/redis_6379.pid
    logfile "/var/log/redis_6379.log"
    dir /usr/local/redis/6379
    bind 0.0.0.0
    protected-mode no
    appendonly yes

    解释

    • daemonize yes:以守护进程方式运行Redis。

    • port 6379:指定Redis服务端口。

    • pidfile:指定PID文件路径。

    • logfile:指定日志文件路径。

    • dir:指定数据文件存储目录。

    • bind 0.0.0.0:允许所有IP访问Redis服务。

    • protected-mode no:关闭保护模式,允许远程连接。

    • appendonly yes:开启AOF持久化,确保数据安全。

  3. 启动主节点

    redis-server /usr/local/redis/6379/redis.conf

    解释:使用配置文件启动Redis主节点服务。

(三)配置从节点

从节点1(192.168.65.132)
  1. 创建从节点1配置文件

    mkdir -p /usr/local/redis/6379
    cp redis.conf /usr/local/redis/6379/

    解释:创建从节点1的配置目录,并复制默认配置文件。

  2. 修改从节点1配置 编辑 /usr/local/redis/6379/redis.conf,修改以下内容:

    daemonize yes
    port 6379
    pidfile /var/run/redis_6379.pid
    logfile "/var/log/redis_6379.log"
    dir /usr/local/redis/6379
    bind 0.0.0.0
    protected-mode no
    replicaof 192.168.65.131 6379
    masterauth <主节点密码>  # 如果主节点有密码,需填写
    appendonly yes

    解释

    • replicaof 192.168.65.131 6379:指定主节点的IP和端口,使当前节点成为从节点。

    • masterauth:如果主节点设置了密码,需要在此处填写主节点的密码。

  3. 启动从节点1

    redis-server /usr/local/redis/6379/redis.conf

    解释:使用配置文件启动从节点1服务。

从节点2(192.168.65.133)
  1. 创建从节点2配置文件

    mkdir -p /usr/local/redis/6379
    cp redis.conf /usr/local/redis/6379/

    解释:创建从节点2的配置目录,并复制默认配置文件。

  2. 修改从节点2配置 编辑 /usr/local/redis/6379/redis.conf,修改以下内容:

    daemonize yes
    port 6379
    pidfile /var/run/redis_6379.pid
    logfile "/var/log/redis_6379.log"
    dir /usr/local/redis/6379
    bind 0.0.0.0
    protected-mode no
    replicaof 192.168.65.131 6379
    masterauth <主节点密码>  # 如果主节点有密码,需填写
    appendonly yes

    解释:配置与从节点1类似,指定主节点的IP和端口。

  3. 启动从节点2

    redis-server /usr/local/redis/6379/redis.conf

    解释:使用配置文件启动从节点2服务。

(四)验证主从复制

  1. 连接主节点

    redis-cli -h 192.168.65.131 -p 6379
    set key1 value1

    解释:通过redis-cli连接主节点,并设置一个键值对。

  2. 连接从节点验证数据同步

    • 连接到从节点1:

      redis-cli -h 192.168.65.132 -p 6379
      get key1
    • 连接到从节点2:

      redis-cli -h 192.168.65.133 -p 6379
      get key1

    解释:通过redis-cli连接从节点,并获取主节点设置的键值对,验证数据是否同步。

如果从节点返回的值与主节点一致,则说明主从复制配置成功。

相关文章:

  • STM32定时器-01定时器概述
  • vue如何获取 sessionStorage的值,获取token
  • 全文 - MLIR: A Compiler Infrastructure for the End of Moore’s Law
  • 【并发编程】聊聊forkJoin的原理和最佳实践
  • 融合与创新:人工智能、数字化转型及计算机科学在高中教育管理中的应用探索
  • 六西格玛遇上Python:统计学的高效实践场
  • 平台与架构:深度解析与开发实践
  • ccfcsp1901线性分类器
  • MAC+PHY 的硬件连接
  • 哈尔滨工业大学DeepSeek公开课人工智能:大模型原理 技术与应用-从GPT到DeepSeek|附视频下载方法
  • 系统+网络练习题代码汇总
  • 区块链技术
  • 基于深度学习的图像识别技术在工业检测中的应用
  • 第16届蓝桥杯单片机4T模拟赛三
  • Vue3(自定义指令directive详解)
  • Kubernetes中将SpringBoot3的application.yaml配置文件迁移到ConfigMap实现配置与代码的分离
  • 简述一下Unity中的碰撞检测
  • c# 2025-3-22 周六
  • 优化 SQL 语句方向和提升性能技巧
  • 比特币驱动金融第八章——探索比特币之外:多样化的挖矿算法
  • 上海劳模风采馆焕新升级后重新开放,展示480位劳模先进故事
  • 价格周报|供需回归僵局,本周生猪均价与上周基本持平
  • 明星同款撕拉片,为何能炒到三四百一张?
  • 援藏博士张兴堂已任西藏农牧学院党委书记、副校长
  • 迪拜金融市场CEO:2024年市场表现出色,超八成新投资者来自海外
  • 毗邻三市人均GDP全部超过20万元,苏锡常是怎样做到的?