Elasticsearch 索引模板、生命周期策略、节点角色

这篇具有很好参考价值的文章主要介绍了Elasticsearch 索引模板、生命周期策略、节点角色。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

  • 索引模板可以帮助简化创建和二次配置索引的过程,让我们更高效地管理索引的配置和映射。

  • 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(hot)、温(warm)和冷(cold)数据,以及定期删除过期的数据,以确保Elasticsearch的健康运行。

  • Elasticsearch集群中,不同节点扮演着不同的角色(热(hot)、温(warm)和冷(cold)主节点),共同构成了强大的搜索和分析引擎。

ELK系列文章: ELK

此文档基于 8.0版本编写。

索引模板 - Template

索引可使用预定义的模板进行创建,这个模板称作Index templates。模板设置包括设置和映射,通过模式匹配的方式使得多个索引重用一个模板。

索引模式

用于匹配创建的索引。

索引设置

settings主要作用于index的一些相关配置信息,如分片数、副本数,tranlog同步条件、refresh等。

官方文档

下面就是把副本数量指定为2,默认副本数量为1。

{
  "index": {
    "number_of_replicas": "2"
  }
}
  • index.codec 默认使用 LZ4 压缩存储的数 压缩,但可以将其设置为使用 DEFLATE 进行更高的压缩比,以较慢的存储字段性能为代价。

  • index.number_of_replicas 每个主分片的副本数。默认值为 1。

  • index.number_of_shards 索引应具有的主分片数。默认值为1 。此设置只能在创建索引时设置。不能在索引上的更改它。

索引映射

mappings主要是一些说明信息,大致又分为_all、_source、prpperties这三部分:

  1. _all:主要指的是AllField字段,我们可以将一个或多个都包含进来,在进行检索时无需指定字段的情况下检索多个字段。设置

  2. _source:主要指的是SourceField字段,Source可以理解为ES除了将数据保存在索引文件中,另外还有一份源数据。_source字段在我们进行检索时相当重要,如果在{“enabled” : false}情况下默认检索只会返回ID, 你需要通过Fields字段去到索引中去取数据,效率不是很高。但是enabled设置为true时,索引会比较大,这时可以通过Compress进行压缩和inclueds、excludes来在字段级别上进行一些限制,自定义哪些字段允许存储。

  3. properties:这是最重要的步骤,主要针对索引结构和字段级别上的一些设置。“_all” : {“enabled” : true}

咱们通常在elasticsearch中 post mapping信息,每重新创建索引便到设置mapping,分片,副本信息。非常繁琐。强烈建议大家通过设置模板方式设置索引信息。设置索引名,通过正则匹配的方式匹配到相应的模板。

直接修改mapping的优先级>索引模板。索引匹配了多个模板,当属性等配置出现不一致的,以order的最大值为准,order默认值为0

创建过程 - Kibana

选择 Stack Management > 数据 > 索引管理 > 索引模板 > 创建模板

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

配置名称和索引模式

填写名称、和索引模式和开启允许自动创建索引。点击下一步,跳过组件模板。

注意索引模式需要匹配要创建的索引名称。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

索引设置

配置副本数量为2,点击下一步到复查模板。最后点击创建模板。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

最终索引模式匹配的创建模板,都会套用模板配置。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

索引生命周期

索引生命周期可以手动关联模板,也可以通过索引模板自动关联。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

创建

选择 Stack Management > 数据 > 索引管理 > 索引生命周期策略 > 点击创建策略。

创建策略,配置热阶段 180天后转换为冷阶段,并把副本数量改为0。再过365天后删除。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

冷阶段配置

配置副本分片重定为0,并配置此阶段后删除。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

删除阶段

配置冷阶段365天后删除索引。

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

关联索引模板

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

集群角色

node.roles: [ data, master ]
# 配置文件示例

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

主节点(Master-eligible node)

  • 主节点的核心用途:集群层面的管理,例如创建或删除索引、跟踪哪些节点是集群的一部分,以及决定将哪些分片分配给哪些节点。主节点的path.data 用于存储集群元数据信息,不可缺少。

  • 主节点的重要性:拥有稳定的主节点对于集群健康非常重要。

和早期版本不同,节点角色划分后,主节点又被细分为:候选主节点和仅投票主节点。

  • 主节点存储数据:集群中每个索引的索引元数据,集群层面的元数据。

专用候选主节点(Dedicated master-eligible node

如果集群规模大、节点多之后,有必要独立设置专用候选主节点。

专用候选主节点配置:

node.roles: [ master ]

仅投票主节点(Voting-only master-eligible node

用途:仅投票,不会被选为主节点。

硬件配置可以较专用候选主节点低一些。

仅投票主节点配置:

node.roles: [ master, voting_only ]

注意:master 在集群中必不可少。

关于集群主节点配置,要强调说明如下:

  • 高可用性 (HA) 集群需要至少三个符合主节点资格的节点;其中至少两个不是仅投票节点。

  • 即使其中一个节点发生故障,这样的集群也将能够选举一个主节点。

数据节点(Data node)

数据节点用途:数据落地存储、数据增、删、改、查、搜索、聚合操作等处理操作。

数据节点硬件配置:CPU 要求高、内存要求高、磁盘要求高。

专属数据节点好处:主节点和数据节点分离,各司其职。

数据节点存储内容:

  • 分片数据。

  • 每个分片对应的元数据。

  • 集群层面的元数据,如:setting 和 索引模板。

拥有专用数据节点的主要好处是主角色和数据角色的分离。

数据节点的配置:

node.roles: [ data ]

用途:运行转换并处理转换 API 请求。这块,咱们之前文章没有涉及。

在 Elastic 多层(tires)冷热集群架构体系下,数据节点又可以细分为:

  • 内容数据节点(Content data node)

  • 热数据节点(Hot data node)

  • 温数据节点(Warm data node)

  • 冷数据节点(Cold data node)

  • 冷冻数据节点(Frozen data node)

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

内容数据节点

用途:处理写入和查询负载,具有较长的数据保留要求。

建议至少设置一个副本,以保证数据的高可用。

不属于数据流的系统索引或其他索引会自动分配到内容数据节点。

node.roles: [ data_content ]

热数据节点

用途:保存最近、最常访问的时序数据。

推荐使用:SSD 磁盘,至少设置一个副本。

node.roles: [ data_hot ]

****

温数据节点

用途:保存访问频次低且很少更新的时序数据。

node.roles: [ data_warm ]

冷数据节点

用途:保存不经常访问且通常不更新的时序数据。可存储可搜索快照。

node.roles: [ data_cold ]

冷冻数据节点

用途:保存很少访问且从不更新的时序数据。

node.roles: [ data_frozen ]

在冷热集群架构时序数据 ILM 索引生命周期管理的实战演练环节,验证发现:

在配置节点角色时,data_hot、data_warm、data_cold 要和 data_content 要一起配置。且 data_hot、data_warm、data_cold 不要和原有的data 节点一起配置了。

如果仅data_hot 不设置 data_content 会导致集群数据写入后无法落地。

我的理解:data_hot, data_warm, data_cold 是标识性的节点,实际落地存储还得靠 data_content 角色。

数据预处理节点(ingest node)

用途:执行由预处理管道组成的预处理任务。

关于啥是数据的预处理?之前有多篇文章解读过:

Elasticsearch 预处理没有奇技淫巧,请先用好这一招!

Elasticsearch的ETL利器——Ingest节点

node.roles: [ ingest ]

仅协调节点(Coordinating only node)

用途:类似智能负载均衡器,负责:路由分发请求、聚集搜索或聚合结果。

注意事项:在一个集群中添加太多的仅协调节点会增加整个集群的负担,因为当选的主节点必须等待来自每个节点的集群状态更新的确认。

node.roles: [ ]

# 空配置

空即是“色”,不对,这里空即是“仅协调节点”。

远程节点(Remote-eligible node)

用途:跨集群检索或跨集群复制。

node.roles: [ remote_cluster_client ]

3.6 机器学习节点(Machine learning node

用途:机器学习,系收费功能。

node.roles: [ ml, remote_cluster_client]

3.7 转换节点(Transform node

用途:运行转换并处理转换 API 请求。这块,咱们之前文章没有涉及。

推荐阅读:

https://www.elastic.co/guide/en/elasticsearch/reference/current/transform-overview.html

node.roles: [ transform, remote_cluster_client ]

角色资源耗费

elk 索引匹配 索引模版,ELK Stack,elasticsearch,大数据,运维,网络

参考

https://chenzhonzhou.github.io/2021/01/31/elasticsearch-suo-yin-mo-ban-template/

https://cloud.tencent.com/developer/article/2009025文章来源地址https://www.toymoban.com/news/detail-853456.html

到了这里,关于Elasticsearch 索引模板、生命周期策略、节点角色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch索引生命周期管理--DELETE

    概要 ElasticSearch中的索引生命周期管理,也就是ilm(Manage the index lifecycle),是指定了索引在不同周期下的处理策略。 ilm 的对象是索引而不是索引中的数据。 ilm 包括四个阶段:hot 、warm、cold和delete。 hot、warm和cold表示索引的使用情况,delete可以指定索引完成rollover后的旧索引

    2024年02月13日
    浏览(41)
  • Elasticsearch-37.索引全生命周期管理及工具介绍

    时间序列的索引 特点 索引中的数据随着时间, 持续不断增长 按照时间序 列划分索引的好处挑战 按照时间进行划分索引, 会使得管理更加简单。例如,完整删除一个引, 性能比delete by query好: 如何进行自动化管理,减少人工操作 从Hot 移动到Warm 定期关闭或者删除索引 索引

    2023年04月10日
    浏览(39)
  • Elasticsearch ILM实现索引全生命周期自动管理,解放双手

    公众号: MCNU云原生 ,欢迎搜索关注,更多干货,第一时间掌握! 一、什么是Elasticsearch ILM? Elasticsearch Index Lifecycle Management(ILM)是Elasticsearch的一个功能,用于管理索引的生命周期,优化索引的性能和减少存储成本。ILM可以自动执行索引的各种操作,如创建、删除、滚动、

    2023年04月13日
    浏览(42)
  • elasticsearch 7.9.3知识归纳整理(五)之 es的索引生命周期管理

    一、常见概念及命令 1.1、概念 ILM定义了四个生命周期阶段: Hot :正在积极地更新和查询索引。 Warm :不再更新索引,但仍在查询。 cold :不再更新索引,很少查询。信息仍然需要可搜索,但是如果这些查询速度较慢也可以。 Delete :不再需要该索引,可以安全地将其删除

    2024年01月22日
    浏览(55)
  • ROS 2 — 托管(生命周期)节点简介

             这篇文章是关于理解ROS 2中托管(生命周期)节点的概念。我们描述了概念性的想法以及我们为什么需要它 。 所以让我们开始吧!

    2024年02月15日
    浏览(47)
  • 【ES实战】索引生命周期管理(二)

    一旦策略进入热、暖或冷阶段,就设置索引的优先级。在节点重启后,优先级较高的索引会在优先级较低的索引之前被恢复。 一般来说,热阶段的索引应该有最高值,冷阶段的索引应该有最低值。例如:HOT阶段为100,Warm阶段为50,cold阶段为0。没有设置这个值的索引,其默认

    2024年02月10日
    浏览(46)
  • elasticsearch的生命周期管理

    当需要存储的数据量特别大的时候,我们会希望ES能够通过预先设定的阈值,去自动创建索引,并将过期的索引删除掉。这里就需要用到ES的生命周期。 ES的生命周期分为4个阶段: HOT-WARM-COLD-DELETE 。 elasticsearch version 7.9.3 kibana version 7.9.3 其中的 HOT 阶段是必须配置的,其他三个

    2024年02月15日
    浏览(36)
  • elasticsearch生命周期的阶段

    Hot : The index is actively being updated and queried. 可以设置滚动阈值 hot阶段是必须的,其他的阶段是可选的 hot phase有个坑: rollover 这里指的是如果你想让索引在hot阶段待5min,你可以在hot设置rollover时间触发条件为5min,然后warm阶段设置data into为0,正常情况下没问题.但是问题出在哪呢?roll

    2024年02月11日
    浏览(58)
  • 【云原生】k8s中Contrainer 生命周期回调/策略/指针学习

    个人主页: 征服bug-CSDN博客 kubernetes专栏: kubernetes_征服bug的博客-CSDN博客  目录 1 容器生命周期 2 容器生命周期回调/事件/钩子 3 容器重启策略 4 自定义容器启动命令 5 容器探针 1 容器生命周期 Kubernetes 会跟踪 Pod 中每个容器的状态,就像它跟踪 Pod 总体上的阶段一样。 你可

    2024年02月14日
    浏览(45)
  • ElasticSearch生命周期定期清理过期

    Elasticsearch(以下简称ES)是一个强大的分布式搜索和分析引擎,可以用于存储和分析各种类型的数据,包括日志数据。ES的索引(index)可以存储日志数据,并且可以设置生命周期策略来清理过期的日志数据。 以下是利用ES生命周期策略清理过期日志的一般步骤: 创建索引模

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包