功能概述

热-温-冷 架构基于时间创建索引和索引分层存储结构,支持通过命令把温/冷索引从 OpenSearch 热节点迁移到相应的节点。热-温-冷 架构,常用于在大规模数据分析场景,例如时间数据分析场景,以提高索引的处理效率,以及降低海量数据存储成本。

架构简介

现对该架构简要说明如下。

hot-warm-cold-arch
  • Master 节点

    负责处理集群管理和状态,提高了整体稳定性。Master 节点不保存索引,也不参与搜索和索引操作,不会被长 GC 干扰,负载可以保持在较低水平,能极大提高集群的稳定性。

  • 热节点

    负责处理集群中所有索引,承担最频繁的写入和查询操作。由于索引是 CPU 和 I/O 密集型操作,对计算和存储服务器的性能要求比较高,如超高性能主机及硬盘。

  • 温/冷节点

    负责处理只读索引,会接收少量的查询请求。温/冷节点可以配置一般性能的资源,通常配备通用本地磁盘。

配置流程

OpenSearch 集群默认为索引默认存储在 热节点,用户需首先确认 OpenSearch 各节点属性,再执行命令将 热节点 上的索引迁移至 冷/温节点,从而实现索引分层管理。

操作步骤

步骤一:配置热/冷/温节点

  1. 集群详情页面,查看集群的 OpenSearch 节点角色类型,确认是否存在 OpenSearch 节点(冷)OpenSearch 节点(温)

  2. 若无 OpenSearch 节点(冷)OpenSearch 节点(温) 节点,需新增节点,详情可参考新增节点

步骤二:将索引迁移至冷/温节点

  1. 登录 Dashboard 管理控制台,详情可参考访问 OpenSearch Dashboard

  2. Dev Tools 的 Console 中分别执行以下命令,迁移索引至 冷/温节点

    • 迁移至 温节点,以迁移名为 last-month 的 Index 为例。

      PUT /last-month/_settings
      {
        "index.routing.allocation.require.data": "warm"
      }
    • 迁移至 冷节点,以迁移名为 last-year 的 Index 为例。

      PUT /last-year/_settings
      {
        "index.routing.allocation.require.data": "cold"
      }