首页主机资讯Redis集群配置有哪些关键步骤

Redis集群配置有哪些关键步骤

时间2025-10-01 11:36:04发布访客分类主机资讯浏览506
导读:Redis集群配置关键步骤 1. 环境准备 节点规划:Redis官方建议最小集群配置为3个主节点+3个从节点(共6个节点),主从节点需分布在不同物理机器或可用区,避免单点硬件故障影响多个节点。 网络要求:所有节点间必须网络互通(开放客户端...

Redis集群配置关键步骤

1. 环境准备

  • 节点规划:Redis官方建议最小集群配置为3个主节点+3个从节点(共6个节点),主从节点需分布在不同物理机器或可用区,避免单点硬件故障影响多个节点。
  • 网络要求:所有节点间必须网络互通(开放客户端端口如6379和集群总线端口如16379),客户端需能访问所有节点,建议使用低延迟、高带宽网络。
  • Redis安装:在所有节点安装相同版本的Redis(建议5.0及以上),可通过包管理器(如aptyum)或源码编译安装。

2. 修改节点配置文件(redis.conf)

每台节点的redis.conf需调整以下关键参数:

  • 启用集群模式cluster-enabled yes(必须设置为yes,否则节点以单机模式运行)。
  • 集群配置文件cluster-config-file nodes-< port> .conf(如nodes-7000.conf),节点会自动维护该文件记录集群状态(无需人工修改)。
  • 节点超时时间cluster-node-timeout 15000(单位:毫秒),用于判定节点失联(如超过该时间无法连接大部分主节点,节点将停止接收请求)。
  • 持久化配置appendonly yes(开启AOF持久化),appendfsync everysec(折衷性能与数据安全,每秒同步一次),避免数据丢失。
  • 网络配置bind 0.0.0.0(允许所有IP访问,若需限制可指定具体IP)、protected-mode no(关闭保护模式,需配合集群密码)、requirepass yourpassword(集群密码,所有节点需一致)、masterauth yourpassword(从节点连接主节点的认证密码)。
  • 集群总线端口cluster-port < Redis端口+10000> (如7000端口的集群总线端口为17000),用于节点间通信(Gossip协议交换信息)。

3. 启动所有Redis节点

在每个节点上执行以下命令启动Redis实例(需指定对应的配置文件路径):

redis-server /path/to/redis-<
    port>
    .conf

示例(6个节点):

redis-server /etc/redis/redis-7000.conf
redis-server /etc/redis/redis-7001.conf
# ... 其他节点

启动后,可通过redis-cli -p < port> ping验证节点是否正常运行(返回PONG表示成功)。

4. 创建Redis集群

使用redis-cli工具初始化集群(推荐方式),任选一台节点执行:

redis-cli --cluster create \
<
    node1-ip>
    :<
    port>
     <
    node2-ip>
    :<
    port>
     <
    node3-ip>
    :<
    port>
     \  # 3个主节点
<
    node4-ip>
    :<
    port>
     <
    node5-ip>
    :<
    port>
     <
    node6-ip>
    :<
    port>
     \  # 3个从节点
--cluster-replicas 1  # 每个主节点配1个从节点

示例(6个节点IP为192.168.1.1-6,端口7000-7005):

redis-cli --cluster create \
192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000 \
192.168.1.4:7000 192.168.1.5:7000 192.168.1.6:7000 \
--cluster-replicas 1

执行后会提示确认节点分配,输入yes即可完成集群创建。

5. 验证集群状态

  • 查看集群信息:连接任意节点,执行以下命令:
    redis-cli -h <
        node-ip>
         -p <
        port>
         cluster info
    
    关键指标:cluster_state:ok(集群正常)、slots_assigned:16384(所有槽已分配)、cluster_size:3(3个主节点)。
  • 查看节点列表:执行以下命令:
    redis-cli -h <
        node-ip>
         -p <
        port>
         cluster nodes
    
    输出应显示6个节点,包含主从角色(master/slave)、槽位范围(如0-5460)及节点ID。
  • 测试数据分片:连接任意节点写入数据,观察自动重定向(MOVED指令):
    redis-cli -h 192.168.1.1 -p 7000 set foo bar
    
    若槽位不属于当前节点,会返回MOVED 3999 192.168.1.2:7000,客户端需重定向到目标节点。

6. 集群维护关键操作

  • 添加节点:启动新节点后,将其加入集群并分配槽:
    # 添加节点到集群
    redis-cli --cluster add-node new_node_ip:new_port existing_node_ip:existing_port
    # 重新分片(将300个槽从现有节点迁移到新节点)
    redis-cli --cluster reshard existing_node_ip:existing_port
    # 输入要移动的槽数、目标节点ID(新节点ID)、源节点ID(all表示从所有主节点平均分配)
    
  • 删除节点:需先迁移该节点的所有槽到其他节点,再执行移除:
    # 迁移槽(将节点7005的槽迁移到节点7000)
    redis-cli --cluster reshard 7000
    # 输入要移动的槽数(节点7005的槽数)、目标节点ID(7000的ID)、源节点ID(7005的ID)
    # 移除节点
    redis-cli --cluster del-node new_node_ip:new_port node_id
    
  • 故障转移:若主节点故障,从节点会自动触发故障转移(需满足cluster-node-timeout超时),也可手动触发:
    redis-cli -h <
        slave-ip>
         -p <
        slave-port>
         cluster failover
    
    手动故障转移需输入yes确认。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Redis集群配置有哪些关键步骤
本文地址: https://pptw.com/jishu/715660.html
Redis配置中哪些参数影响性能 如何优化Linux下Redis的持久化策略

游客 回复需填写必要信息