Redis 编译安装主从

发布于 2025-02-16 20:59:23 字数 5409 浏览 10 评论 0

1. 编译安装 Redis

步骤 1: 安装必要的依赖

Redis 编译安装需要一些开发工具和库,首先确保系统中已安装这些依赖。

  • 在 Ubuntu/Debian 上
    sudo apt update
    sudo apt install build-essential tcl
    
  • 在 CentOS/RHEL 上
    sudo yum groupinstall "Development Tools"
    sudo yum install tcl
    

步骤 2: 下载 Redis 源码

去 Redis 官网下载最新版的源码,或者使用 wget 命令从 GitHub 获取。

cd /usr/local/src
sudo wget http://download.redis.io/redis-stable.tar.gz 

解压下载的源码包:

sudo tar xzf redis-stable.tar.gz
cd redis-stable

步骤 3: 编译 Redis

执行以下命令来编译 Redis:

sudo make

在编译过程中,您可以看到编译的输出信息。如果没有错误,编译完成后,可以使用以下命令进行测试:

sudo make test  # 测试 Redis 功能是否正常

如果一切正常,执行以下命令来安装 Redis:

sudo make install

步骤 4: 配置 Redis

Redis 默认配置文件通常位于 /usr/local/src/redis-stable/redis.conf 。您可以将此文件复制到 /etc/redis/redis.conf 进行修改。

sudo cp redis.conf /etc/redis/redis.conf

步骤 5: 启动 Redis

您可以通过以下命令启动 Redis 服务:

redis-server /etc/redis/redis.conf

这样,您就成功安装并启动了 Redis。接下来,我们继续配置主从复制。


2. 配置 Redis 主从复制

在 Redis 配置文件中,我们需要做一些简单的配置来启用主从复制。

步骤 1: 配置主节点

主节点通常不需要做太多额外配置,您只需要确保主节点的配置文件中没有启用从节点功能。

  • 打开主节点的 redis.conf 配置文件(路径通常是 /etc/redis/redis.conf ):
    sudo nano /etc/redis/redis.conf
    
  • 确保配置文件中没有 slaveofreplicaof 配置项(这通常是用于从节点配置)。如果有,删除或注释掉这一行。
  • 配置监听 IP,确保 Redis 服务器能接受来自其他服务器的连接:
    bind 0.0.0.0
    protected-mode no
    
  • 配置密码(可选)以增强安全性:
    requirepass yourpassword
    
  • 启动主节点 Redis:
    redis-server /etc/redis/redis.conf
    

步骤 2: 配置从节点

接下来,您需要在从节点的配置文件中指定主节点的信息。

  1. 在从节点机器上,复制 Redis 配置文件并进行修改:
    sudo cp /etc/redis/redis.conf /etc/redis/redis_slave.conf
    sudo nano /etc/redis/redis_slave.conf
    
  2. 在配置文件中找到 slaveofreplicaof 相关配置并取消注释:
    replicaof <master-ip> <master-port>
    

    例如:

    replicaof 192.168.1.100 6379
    
  3. 如果主节点设置了密码,您需要在从节点配置文件中设置 masterauth
    masterauth yourpassword
    
  4. 配置监听 IP,确保 Redis 能够接受来自其他服务器的连接:
    bind 0.0.0.0
    protected-mode no
    
  5. 启动 Redis 从节点:
    redis-server /etc/redis/redis_slave.conf
    

步骤 3: 验证主从复制

验证主从复制是否正常工作:

  1. 在主节点上执行以下命令,设置一个键值对:
    redis-cli -h <master-ip> -p 6379
    set foo bar
    
  2. 在从节点上执行:
    redis-cli -h <slave-ip> -p 6379
    get foo
    

    如果从节点返回了 bar ,说明主从复制配置成功。

步骤 4: 监控主从复制状态

您可以使用以下命令检查主从复制的状态:

  • 在主节点上查看:
    redis-cli -h <master-ip> -p 6379 info replication
    
  • 在从节点上查看:
    redis-cli -h <slave-ip> -p 6379 info replication
    

如果复制正常,您应该看到类似下面的信息:

role:master (主节点) 或 slave (从节点)
master_host:192.168.1.100
master_port:6379
connected_slaves:1

3. 自动化启动 Redis

为了让 Redis 在系统重启时自动启动,您可以为 Redis 创建 systemd 服务文件。具体步骤如下:

步骤 1: 创建 Redis 服务文件

创建 redis.service 文件:

sudo nano /etc/systemd/system/redis.service

将以下内容粘贴到文件中:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-server /etc/redis/redis.conf shutdown
Restart=always
User=redis
Group=redis

[Install]
WantedBy=multi-user.target

步骤 2: 启动并启用 Redis 服务

启用 Redis 服务并使其在系统启动时自动启动:

sudo systemctl daemon-reload
sudo systemctl start redis
sudo systemctl enable redis

步骤 3: 验证 Redis 服务

确认 Redis 服务正在运行:

sudo systemctl status redis

总结

通过编译安装 Redis,并配置主从复制,您可以在生产环境中搭建一个高可用的 Redis 缓存系统。主节点处理写请求,多个从节点可以分担读请求,从而提升性能和容错能力。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

上一篇:

下一篇:

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
26 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文