Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • MySQL

  • Redis

    • 安装配置
    • Redis 集群部署
    • redis大key分析
    • Redis手动进行主从切换
    • Redis集群添加节点之后数据重新均匀分配
    • Redis槽位slot解读
    • redis新增节点slot迁移报错故障修复
    • Redis集群的创建、剔除节点与新增节点操作过程
      • Redis集群的创建、剔除节点与新增节点操作过程
        • 一、集群创建
        • 二、剔除节点
        • 三、添加新节点
    • redis抓包分析脚本
    • Redis配置文件解读
    • redis cluster压测
    • redis慢查询告警脚本
    • Redis 的可用内存过高时的自动驱逐 key 策略详解
  • Keydb

  • TiDB

  • MongoDB

  • Elasticsearch

  • Kafka

  • victoriametrics

  • BigData

  • Sqlserver

  • 数据库
  • Redis
Carry の Blog
2024-06-23
目录

Redis集群的创建、剔除节点与新增节点操作过程原创

# Redis集群的创建、剔除节点与新增节点操作过程

# 一、集群创建

  1. 准备工作

    • 安装 Redis:
      sudo apt-get update
      sudo apt-get install redis-server
      
      1
      2
    • 安装 redis-cli 工具(通常随 Redis 安装包一起提供)。
    • 确保所有节点的 Redis 配置文件中启用了集群模式:
      cluster-enabled yes
      cluster-config-file nodes.conf
      cluster-node-timeout 5000
      appendonly yes
      
      1
      2
      3
      4
  2. 创建集群

    • 启动 Redis 实例:
      redis-server /path/to/redis.conf
      
      1
    • 使用 redis-cli 创建集群:
      redis-cli --cluster create <node1>:6379 <node2>:6379 <node3>:6379 <node4>:6379 <node5>:6379 <node6>:6379 --cluster-replicas 1
      
      1
    • 该命令会将六个节点分配成三个主节点和三个从节点。

# 二、剔除节点

  1. 识别要剔除的节点

    • 使用以下命令查看集群信息并找到要剔除的节点 ID:
      redis-cli -c -h <any-node> cluster nodes
      
      1
  2. 迁移槽位

    • 如果要剔除的是主节点,首先需要将其槽位迁移到其他节点上:
      redis-cli --cluster reshard <any-node>:6379
      
      1
    • 按提示操作,输入需要迁移的槽位范围和目标节点。
  3. 剔除节点

    • 使用以下命令剔除节点:
      redis-cli -c -h <any-node> cluster forget <node-id>
      
      1
    • 通过以下命令关闭该节点:
      redis-cli -h <node-host> -p <node-port> shutdown
      
      1

# 三、添加新节点

  1. 启动新节点

    • 配置并启动一个新的 Redis 实例,使其处于集群模式:
      redis-server /path/to/new/redis.conf
      
      1
  2. 将新节点加入集群

    • 使用以下命令将新节点添加到现有集群:
      redis-cli --cluster add-node <new-node>:6379 <existing-node>:6379
      
      1
    • 如果要将新节点作为从节点,可以指定主节点:
      redis-cli --cluster add-node <new-node>:6379 <existing-node>:6379 --cluster-slave --cluster-master-id <master-node-id>
      
      1
  3. 重新分片

    • 重新分配槽位到新节点上:
      redis-cli --cluster reshard <any-node>:6379
      
      1
    • 按提示输入需要迁移的槽位范围和目标节点 ID。
#Redis#集群管理
上次更新: 4/24/2025

← redis新增节点slot迁移报错故障修复 redis抓包分析脚本→

最近更新
01
tidb fast ddl
04-04
02
TiDB配置文件调优 原创
04-03
03
如何移除TiDB中的表分区 原创
04-03
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式