文档首页/ 云搜索服务 CSS/ 快速入门/ 使用Logstash迁移数据
更新时间:2025-09-04 GMT+08:00

使用Logstash迁移数据

Logstash是一款收集、转换、清洗、解析数据的工具,本章节为您提供了一个使用CSS服务的Logstash集群完成Elasticsearch集群间数据迁移的示例,您可以参考此示例来了解Logstash服务,包括创建集群、导入导出数据、任务配置等操作。

操作流程

以下是使用Logstash集群将源Elasticsearch集群迁移到目标Elasticsearch集群的操作步骤。

开始迁移数据前,请务必按准备工作指导完成必要操作。

  1. 步骤1:获取Elasticsearch集群信息:获取源Elasticsearch集群和目标Elasticsearch集群的访问地址。
  2. 步骤2:创建Logstash集群:创建一个Logstash集群用于迁移Elasticsearch集群的数据。
  3. 步骤3:配置迁移任务:在Logstash集群配置Elasticsearch集群的迁移任务。
  4. 步骤4:启动迁移任务:在Logstash集群启动配置好的迁移任务。
  5. 步骤5:停止任务:当数据迁移完成,不再需要迁移任务时,您可以停止任务。
  6. 步骤6:删除集群:无需继续使用集群时,可删除集群释放资源。

准备工作

  • 已注册华为账号并开通华为云,进行了实名认证,且在使用云搜索服务前检查账号状态,账号不能处于欠费或冻结状态。
    如果您还没有华为账号,请参考以下步骤创建。
    1. 打开华为云网站
    2. 在页面右上角单击“注册”,根据提示信息完成注册。
    3. 勾选服务条款, 单击“开通”。
    4. 实名认证,请参考:
  • 已准备好源Elasticsearch集群“Source-ES”和目标Elasticsearch集群“Dest-ES”,且都是单节点的非安全集群。

步骤1:获取Elasticsearch集群信息

获取源Elasticsearch集群和目标Elasticsearch集群的访问地址,如果是安全集群还需要联系服务管理员获取集群的用户名和密码。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏选择集群管理 > Elasticsearch
  3. 在集群列表,选择目标集群,在“内网访问地址”列获取并记录集群的内网IP地址,一般是“<host>:<port>”“<host>:<port>,<host>:<port>”样式。

    例如本示例里,源Elasticsearch集群“Source-ES”的访问地址是“10.62.179.32:9200”,目标Elasticsearch集群“Dest-ES”的访问地址是“10.62.179.33:9200”

    图1 获取IP地址

步骤2:创建Logstash集群

创建一个Logstash集群用于迁移Elasticsearch集群的数据。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏选择集群管理 > Logstash
  3. 在集群列表右上角,单击创建集群,默认进入新版创建页面。
    图2 新版创建页面
  4. 集群配置,选择集群类型和版本。
    表1 集群配置

    参数

    示例

    说明

    集群类型

    Logstash

    选择“Logstash”

    集群版本

    7.10.0

    选择所需的集群版本,支持的版本以界面可选项为准。

  5. 基础配置,选择当前区域、可用区和计费模式。
    表2 基础配置

    参数

    示例

    说明

    当前区域

    中国-香港

    选择集群的所在区域。区域指集群的物理数据中心所在的位置,不同区域的云服务产品之间内网互不相通。建议就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    可用区

    可用区1

    选择集群工作区域下关联的可用区。可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    最多支持配置2个可用区。

    计费模式

    按需计费

    选择集群的计费模式,集群支持包年/包月和按需计费两种模式。

    • 包年/包月:预付费模式,按照订单的购买周期结算。
    • 按需计费:后付费模式,按照集群实际使用时长计费,计费周期为一小时,不足一小时按一小时计费。
  6. 配置数据节点。
    Logstash集群的数据节点用于处理和传输数据。
    图3 配置数据节点
    表3 数据节点配置

    参数

    示例

    说明

    CPU架构

    X86计算

    选择数据节点的CPU架构。

    节点规格

    ess.spec-4u8g

    选择数据节点的规格。单击“选择节点规格”,在弹框中选择合适的规格。

    规格列表的“vCPUs | 内存”呈现了规格的CPU核数和内存,“建议存储范围”呈现了该规格支持的存储容量。

    不同区域支持的节点规格不同,请以实际环境为准。

    节点存储类型和容量

    • 高I/O
    • 40GB

    选择数据节点的存储类型和容量。

    • 选择云硬盘类型,不同区域支持的云硬盘类型不同,请以实际环境为准。
    • 节点存储容量为固定值:40GB

    节点数量

    1

    设置集群中的数据节点个数。

  7. 网络配置,设置集群的VPC、IP地址和安全组。
    图4 网络配置
    表4 网络配置

    参数

    示例

    说明

    虚拟私有云

    vpc-default

    指定集群使用的虚拟专用网络,可以对不同业务进行网络隔离

    子网

    subnet-default

    指定集群使用的子网,通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。

    选择当前虚拟私有云下的子网。

    IPv4地址

    自动分配IPv4地址

    分配集群节点的IPv4地址。

    安全组

    default

    指定集群使用的安全组,安全组起着虚拟防火墙的作用,为集群提供安全的网络访问控制策略。

    所选安全组的入方向规则中,“协议端口”必须为“全部”或包含9200的端口范围,否则外部业务访问可能会异常。

  8. 集群管理配置,设置集群名称、企业项目等信息。
    表5 集群管理

    参数

    示例

    说明

    集群名称

    Sample-Logstash

    自定义集群名称。

    添加描述

    不添加

    为集群添加描述,方便用户识别。

    企业项目

    default

    给集群绑定一个企业项目。

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为“default”

    如果开通了“企业项目”,请从下拉列表中选择所在的企业项目。

    标签

    不添加

    为集群添加标签,方便用户识别和管理拥有的集群资源。

    每个集群最多可以设置20个标签。

  9. 单击“立即创建”,开始创建集群。
  10. 返回集群列表,查看新建的集群。当集群创建成功后,“集群状态”会变为可用
    图5 查看集群状态

步骤3:配置迁移任务

在Logstash集群配置Elasticsearch集群的迁移任务。

  1. 在Logstash集群列表,单击集群名称“Sample-Logstash”,进入集群详情页。
  2. 选择“配置中心”页签。
  3. 在配置中心界面,单击右上角“创建”,进入创建配置文件页面,编辑配置文件。
    图6 配置任务
    表6 创建配置文件参数说明

    参数

    说明

    取值样例

    名称

    自定义配置文件名称。

    只能包含字母、数字、中划线或下划线,且必须以字母开头。必须大于等于4个字符。

    es-es

    配置文件内容

    展开上方“系统模板”,选择“elasticsearch”,单击操作列的“应用”,在配置文件内容中,基于模板注释填写配置项。

    关键配置项请参见表7,其他配置项保持默认值。

    隐藏内容列表

    配置隐藏字符串列表后,在返回的配置内容中,会将所有在列表中的字串隐藏为“***”

    输入需要隐藏的敏感字串列表,按“Enter”创建。

    列表最大支持20条,单个字串最大长度512字节。

    不涉及

    表7 配置项说明

    配置

    说明

    取值样例

    hosts

    分别在input和output中填写源Elasticsearch集群和目标Elasticsearch集群的访问地址。获取方式请参见步骤1:获取Elasticsearch集群信息

    input hosts:http://10.62.179.32:9200

    output hosts:http://10.62.179.33:9200

    user

    访问Elasticsearch集群的用户名。仅安全集群涉及,如果是非安全集群则此项使用“#”注释掉。

    使用“#”注释掉

    password

    访问Elasticsearch集群的密码。仅安全集群涉及,如果是非安全集群则此项使用“#”注释掉。

    使用“#”注释掉

    index

    需要迁移的索引信息,可以使用通配符设置。

    index*

  4. 编辑完成后,单击“下一页”配置Logstash管道参数。
    图7 配置管道参数
    表8 管道参数说明

    参数

    说明

    取值样例

    pipeline.workers

    并行执行管道的Filters和Outputs阶段的工作线程数。

    4

    pipeline.batch.size

    单个工作线程在尝试执行其Filters和Outputs之前将从inputs收集的最大事件数,该值较大通常更有效,但会增加内存开销。

    125

    pipeline.batch.delay

    管道事件批处理参数,以指定在将规模较小的事件批次调度至管道工作线程之前,对每个事件的等待时长。

    50

    query.type

    用于事件缓冲的内部队列模型。

    • “memory”为基于内存的传统队列。
    • “persisted”为基于磁盘的ACKed持久化队列。

    memory

  5. 配置完成后,单击“创建”,系统会自动进行配置文件校验,等待配置文件状态为“可用”,表示创建成功。
    图8 配置文件校验

步骤4:启动迁移任务

在Logstash集群启动配置好的迁移任务。

  1. 在配置中心页面,选择新建的状态为“可用”的配置文件,单击“启动”,启动配置任务。管道列表中“事件”列显示配置任务处理的任务数量。
    图9 启动配置任务
  2. 数据迁移完毕,检查目标Elasticsearch集群和源集群数据的一致性。例如,分别在源集群和目标集群执行GET _cat/indices命令,对比两者的索引信息是否一致。
    1. 在Elasticsearch集群列表,选择源Elasticsearch集群“Source-ES”或目标Elasticsearch集群“Dest-ES”,单击操作列中的“Kibana”进入Kibana控制台。
    2. 在Kibana的左侧导航中选择“Dev Tools”,进入Console界面。
    3. 在Console界面,执行如下命令查看索引信息。
      GET _cat/indices

步骤5:停止任务

当数据迁移完成,不再需要迁移任务时,您可以停止任务。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏选择集群管理 > Logstash
  3. 在集群列表,单击目标集群名称,进入集群详情页。
  4. 选择“配置中心”页签。
  5. 在集群列表,选择“Sample-Logstash”集群,单击操作列的“配置中心”,进入Logstash集群配置页面。
  6. 在配置中心页面,选择已经启动的管道名称,单击“全部停止”,停止正在运行的任务,等待所有管道任务停止完成。
    图10 停止任务

步骤6:删除集群

已完成数据迁移业务,无需继续使用集群时,可删除集群释放资源,删除前请确保所有正在运行的管道任务全部停止。

集群删除前请停止所有正在运行的任务,避免数据异常, 删除前建议备份配置文件。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏选择集群管理 > Logstash
  3. 在集群列表,选择“Sample-Logstash”集群,在操作列单击“更多”>“删除”
  4. 在弹出的确认对话框中,输入“DELETE”,单击“确定”完成操作。

相关文档

了解如何使用Logstash同步数据至CSS服务的Elasticsearch: