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

使用Logstash迁移数据

Logstash是一款收集、转换、清洗、解析数据的工具,本章节为您提供了一个使用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. 在集群管理列表页面,选择需要访问的集群,在“内网访问地址”列获取Elasticsearch集群的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. 单击右上角的创建集群,进入“创建集群”页面。
  4. 配置集群的计费模式和可用区。
    表1 计费模型和可用区参数说明

    参数

    说明

    取值样例

    计费模式

    集群支持“包年/包月”“按需计费”两种模式。

    • 包年/包月:根据集群购买时长,一次性支付集群费用。最短时长为1个月,最长时长为3年。如果购买时长超过9个月,建议包年购买,价格更优惠。
    • 按需计费:按实际使用时长计费,计费周期为一小时,不足一小时按一小时计费。

    按需计费

    当前区域

    选择集群的所在区域。

    不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    中国-香港

    可用区

    选择集群工作区域下关联的可用区。最多支持配置3个“可用区”。

    可用区1

  5. 配置集群基本信息。
    图2 配置集群信息
    表2 基本参数说明

    参数

    说明

    取值样例

    集群类型

    选择“Logstash”

    Logstash

    集群版本

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

    7.10.0

    集群名称

    自定义集群名称,可输入的字符范围为4~32个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。

    Sample-Logstash

  6. 配置集群的规格信息。
    图3 配置集群规格
    表3 规格参数说明

    参数

    说明

    取值样例

    节点数量

    集群中的节点个数。可选节点数为1~100。

    1

    CPU架构

    仅支持“X86计算”类型。

    X86计算

    节点规格

    选择集群节点的规格。

    ess.spec-4u8g

    节点存储

    选择集群节点的存储类型。

    高I/O

    节点存储容量

    设置集群节点的存储空间大小,默认配置40GB。

    40GB

  7. 设置集群的企业项目。

    如果您开通了“企业项目”,在创建集群时,可以给集群绑定一个企业项目。本示例选择默认企业项目“default”

  8. 单击“下一步:网络配置”,设置集群的网络配置。
    图4 配置网络
    表4 网络配置参数说明

    参数

    说明

    取值样例

    虚拟私有云

    指定集群节点使用的虚拟专用网络,实现不同业务的网络隔离。

    和Elasticsearch集群选择同一个VPC。

    说明:

    此处您选择的VPC必须包含网段(CIDR),否则集群将无法创建成功。新建的VPC默认包含网段(CIDR)。

    vpc-default

    子网

    集群使用子网实现与其他网络的隔离,并独享所有网络资源,以提高网络安全。

    subnet-default

    安全组

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

    说明:

    为了确保您能够正常访问集群,需要放通安全组9200规则。

    default

  9. 单击“下一步:高级配置”,可以设置Logstash集群的高级功能。

    本集群仅做入门指导使用,无需开启集群高级功能。

  10. 单击“下一步:确认配置”,确认完成后单击“立即创建”开始创建集群。
  11. 单击“返回集群列表”,系统将跳转到“集群管理”页面。您创建的集群将展现在集群列表中,且集群状态为“创建中”,创建成功后集群状态会变为“可用”。
    图5 创建集群

步骤3:配置迁移任务

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

  1. 在Logstash集群管理页面,选择已创建的“Sample-Logstash”集群,进入集群基本信息页面。
  2. 单击右侧“配置中心”,进入Logstash配置中心界面。
    图6 Logstash配置中心界面
  3. 在配置中心界面,单击右上角“创建”,进入创建配置文件页面,编辑配置文件。
    图7 配置任务
    表5 创建配置文件参数说明

    参数

    说明

    取值样例

    名称

    自定义配置文件名称。

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

    es-es

    配置文件内容

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

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

    隐藏内容列表

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

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

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

    不涉及

    表6 配置项说明

    配置

    说明

    取值样例

    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管道参数。
    图8 配置管道参数
    表7 管道参数说明

    参数

    说明

    取值样例

    pipeline.workers

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

    4

    pipeline.batch.size

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

    125

    pipeline.batch.delay

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

    50

    query.type

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

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

    memory

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

步骤4:启动迁移任务

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

  1. 在Logstash集群管理页面,选择已创建的“Sample-Logstash”集群,进入集群基本信息页面。
  2. 单击右侧“配置中心”,进入Logstash配置中心界面。
  3. 选择状态为“可用”的配置文件,单击“启动”,启动配置任务。管道列表中“事件”列显示配置任务处理的任务数量。
    图10 启动配置任务
  4. 数据迁移完毕,检查目标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. 在集群列表,选择“Sample-Logtash”集群,单击操作列的“配置中心”,进入Logstash集群配置页面。
  4. 选择已经启动的管道名称,单击“全部停止”,停止正在运行的任务,等待所有管道任务停止完成。
    图11 停止任务

步骤6:删除集群

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

集群删除前请停止所有正在运行的任务,请谨慎操作, 删除前请备份配置文件。

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