Linux环境下Redis集群搭建详细教程,0门槛有手就会
2026/5/29 4:29:52 网站建设 项目流程

文章目录

  • 一、下载Redis
  • 二、创建Redis管理用户
  • 三、上传Redis
  • 四、安装Redis
  • 五、搭建集群
    • 1. 创建集群配置目录`redis-cluster/`
    • 2. 创建`master 1`节点目录`7001`,复制redis.conf配置文件
    • 3. 配置`marst 1`主节点`7001`
    • 4. 配置`slave 1`从节点`7002`
    • 5. 配置剩余集群节点
    • 6. 启动集群所有节点
    • 7. 创建集群
    • 8. 验证集群
    • 9. 查看集群信息
    • 10. 关闭集群
    • 11. 删除节点
    • 12. 查看客户端连接情况

一、下载Redis

官方链接:https://redis.io/downloads/
这里我选择下载了市场使用比较广泛成熟的6.2版本,最新的6.2.14。

二、创建Redis管理用户

创建redisadm用户,作为Redis的运维用户。

$mkdir-p/home/redisadm $groupadd-g60010redisgrp $useraddredisadm-u60010-d/home/redisadm-gredisgrp $chown-Rredisadm:redisgrp /home/redisadm $echo"redisadm:redisadm"|chpasswd

三、上传Redis

将Redis安装包上传到linux服务器并解压,可以通过FTP工具连接上传,这里我上传到了/home/redisadm目录下进行安装。

使用root用户进行解压缩,执行命令:

$cd/home/redisadm $tar-zxvfredis-6.2.14.tar.gz

四、安装Redis

注意使用root用户安装。进入刚才的Redis解压缩路径操作,我这边是/home/redisadm/redis-6.2.14

  1. 进行编译,执行命令:

    $make
  2. 安装环境检查,执行命令:
    注意,这一步不能报错,如果报错了需要检查确实什么插件,将插件安装好。

    $maketest
  3. 安装,执行命令:

    $makeinstall
  4. 安装成功后,我们可以看到Redis相关命令已经加到/usr/local/bin目录下了。

五、搭建集群

本次我们搭建的Redis集群设计为3台服务器,包含3主3从共6个Redis节点,每个服务器包含1主1从2个Redis节点,分别为master 1、slave1;master 2、slave 2;master 3、slave 3。集群架构如下图:

接下来的集群配置时,我们可以切换成redisadm用户操作了。

1. 创建集群配置目录redis-cluster/

$cd/home/redisadm $mkdir-p/home/redisadm/redis-cluster $ ll

2. 创建master 1节点目录7001,复制redis.conf配置文件

$cd/home/redisadm/redis-cluster $mkdir7001$ ll $cp../redis-6.2.14/redis.conf /home/redisadm/redis-cluster/7001/redis.conf $cd7001$ ll

3. 配置marst 1主节点7001

主节点7001的配置文件redis.conf修改内容,部分参数阈值可自行调大或减小:

  1. 注释去掉绑定监听的IP地址:

    #bind 127.0.0.1 -::1
  2. 关闭本地ip访问安全权限限制,开启远程访问权限:

    protected-mode no
  3. 设置节点监听端口:

    port 7001
  4. 设置空闲连接断开时间,单位s:

    timeout 30
  5. 设置TCP保持活跃时间:

    tcp-keepalive 30
  6. 开启守护进程,redis进程以后台形式启动:

    daemonize yes
  7. 配置不启用任何特定的进程管理监督机制:

    supervised no
  8. 配置指定pid记录文件:

    pidfile /home/redisadm/redis-cluster/7001/redis_7001.pid
  9. 配置日志输出级别:

    loglevel verbose
  10. 配置日志输出文件:

    logfile "/home/redisadm/redis-cluster/7001/redis.log"
  11. 配置logo显示,在启动或运行时会在控制台/界面中显示Logo或版本信息:

    always-show-logo yes
  12. 配置禁用 Redis 的 RDB(快照)持久化功能:

    save ""
  13. 配置快照失败处理策略,当 Redis 执行 BGSAVE 命令生成 RDB 快照失败时,不停止处理写请求,即忽略错误并继续接受数据写入:

    stop-writes-on-bgsave-error no
  14. 配置数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据:

    dir /home/redisadm/redis-cluster/7001/
  15. 设置集群节点间访问密码,与Redis密码一致:

    masterauth redisadm
  16. 配置主从复制RDB文件加载模式,从库(Slave)在加载主库(Master)发送的 RDB 快照文件时,禁用“无盘加载”(Diskless Load)模式,即采用传统的“基于磁盘”的加载方式:

    repl-diskless-load disabled
  17. 设置 Redis 访问密码:

    requirepass redisadm
  18. 设置启动 AOF 持久化机制:

    appendonly yes
  19. 设置 AOF 持久化参数,当 Redis 执行 AOF 文件重写(BGREWRITEAOF)时,暂停执行 fsync 操作,以避免因频繁同步磁盘而阻塞主进程,从而提升性能:

    no-appendfsync-on-rewrite yes
  20. 设置启动集群模式:

    cluster-enabled yes
  21. 设置集群节点信息文件:

    cluster-config-file nodes-7001.conf
  22. 设置集群节点心跳检测的超时时间,单位ms:

    cluster-node-timeout 5000
  23. 设置集群节点槽位覆盖参数,当 Redis Cluster 中存在未分配的槽位(Slot)时,集群将拒绝所有写请求,以确保数据一致性和完整性:

    cluster-require-full-coverage yes
  24. 设置慢查询日志保留条数,用于分析性能瓶颈和调试问题:

    slowlog-max-len 500

4. 配置slave 1从节点7002

  1. 创建7002目录,从7001目录下复制redis.conf配置文件:

    $cd/home/redisadm/redis-cluster/ $mkdir7002$ ll $cp./7001/redis.conf ./7002/redis.conf $cd7002$ ll

  2. 修改7002目录下redis.conf配置文件,将文件内7001替换为7002,主要涉及以下参数:

    port 7002 logfile "/home/redisadm/redis-cluster/7001/redis.log" pidfile /home/redisadm/redis-cluster/7001/redis_7001.pid dir /home/redisadm/redis-cluster/7001/ cluster-config-file nodes-7001.conf

5. 配置剩余集群节点

配置方法与7002一致,替换文件内端口信息。

  1. 配置文件复制:因为我这些是在同一个机器上,所以只需要使用cp命令复制到对应的节点文件夹内,修改配置文件就行。

    $cp/home/redisadm/redis-cluster/7001/redis.conf /home/redisadm/redis-cluster/7003/redis.conf $cp/home/redisadm/redis-cluster/7001/redis.conf /home/redisadm/redis-cluster/7004/redis.conf $cp/home/redisadm/redis-cluster/7001/redis.conf /home/redisadm/redis-cluster/7005/redis.conf $cp/home/redisadm/redis-cluster/7001/redis.conf /home/redisadm/redis-cluster/7006/redis.conf

    但是如果有多台机器的时候,就需要使用scp拷贝过去了:

    $scp/home/redisadm/redis-cluster/7001/redis.conf redisadm@xxx.xxx.xxx.xxx:/home/redisadm/redis-cluster/7003/redis.conf $scp/home/redisadm/redis-cluster/7001/redis.conf redisadm@xxx.xxx.xxx.xxx:/home/redisadm/redis-cluster/7004/redis.conf $scp/home/redisadm/redis-cluster/7001/redis.conf redisadm@xxx.xxx.xxx.xxx:/home/redisadm/redis-cluster/7005/redis.conf $scp/home/redisadm/redis-cluster/7001/redis.conf redisadm@xxx.xxx.xxx.xxx:/home/redisadm/redis-cluster/7006/redis.conf
  2. 创建AOF持久化路径:因为是在不同服务器上,所以我们要自己手动创建集群内其他节点的AOF持久化文件目录。比如在服务器1上有2个节点:master 1 (7001)+ slave 1(7002),那我们就创建其余集群节点点目录:

    $mkdir-p/home/redisadm/redis-cluster/7003/ $mkdir-p/home/redisadm/redis-cluster/7004/ $mkdir-p/home/redisadm/redis-cluster/7005/ $mkdir-p/home/redisadm/redis-cluster/7006/

6. 启动集群所有节点

  1. 执行启动命令:
    注意使用redisadm用户启动,不然后面创建集群会报错。

    $cd/home/redisadm/redis-6.2.14/src $ redis-server /home/redisadm/redis-cluster/7001/redis.conf $ redis-server /home/redisadm/redis-cluster/7002/redis.conf $ redis-server /home/redisadm/redis-cluster/7003/redis.conf $ redis-server /home/redisadm/redis-cluster/7004/redis.conf $ redis-server /home/redisadm/redis-cluster/7005/redis.conf $ redis-server /home/redisadm/redis-cluster/7006/redis.conf
  2. 检查启动是否成功,可以看到全部端口启动好,并且后面是[cluster]

    $ps-ef|grepredisadm

7. 创建集群

创建集群,使用create创建,cluster-replicas指定从节点个数,前3个节点为master,后3个为则从节点。需要加上redis.conf内设置的密码redisadm,不然会报错。

$ /home/redisadm/redis-6.2.14/src/redis-cli--clustercreate --cluster-replicas1127.0.0.1:7001127.0.0.1:7003127.0.0.1:7005127.0.0.1:7002127.0.0.1:7004127.0.0.1:7006-aredisadm

8. 验证集群

  1. 连接任意一个节点测试,这里使用7001端口试试。

    $ /home/redisadm/redis-6.2.14/src/redis-cli-c-h127.0.0.1-p7001-aredisadm

  2. 去7001端口对应的从节点查询,自动跳转到了7001主节点:

    $ /home/redisadm/redis-6.2.14/src/redis-cli-c-h127.0.0.1-p7002-aredisadm

  3. 换一个主节点7003查询,自动跳转到了7001主节点:

    $ /home/redisadm/redis-6.2.14/src/redis-cli-c-h127.0.0.1-p7003-aredisadm

9. 查看集群信息

查看集群信息:

$ /home/redisadm/redis-6.2.14/src/redis-cli-c-h127.0.0.1-p7001-aredisadm $ cluster info


查看集群节点:

$ cluster nodes

10. 关闭集群

$ /home/redisadm/redis-6.2.14/src/redis-cli-h127.0.0.1-p7001-aredisadmshutdown$ /home/redisadm/redis-6.2.14/src/redis-cli-h127.0.0.1-p7002-aredisadmshutdown$ /home/redisadm/redis-6.2.14/src/redis-cli-h127.0.0.1-p7003-aredisadmshutdown$ /home/redisadm/redis-6.2.14/src/redis-cli-h127.0.0.1-p7004-aredisadmshutdown$ /home/redisadm/redis-6.2.14/src/redis-cli-h127.0.0.1-p7005-aredisadmshutdown$ /home/redisadm/redis-6.2.14/src/redis-cli-h127.0.0.1-p7006-aredisadmshutdown

11. 删除节点

$ /home/redisadm/redis-6.2.14/src/redis-cli--clusterdel-node127.0.0.1:7002 9ee2e5b61994f18b49d4da84ada22a75225af2fe

12. 查看客户端连接情况

查询redis连接情况和最大连接数。

$ info clients $ config get maxclients

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询