elasticsearch系列四:集群常规运维

这篇具有很好参考价值的文章主要介绍了elasticsearch系列四:集群常规运维。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned,明明写入了很多数据但是查不到等等系列问题该怎么办呢?咱们今天一起看下常用运维命令。

案例

      起初我们es性能还跟得上,随着业务发展壮大,发现查询性能越来越不行了,我们可以通过cat api查看索引的segments情况,比如下图:

elasticsearch系列四:集群常规运维,Elasticsearch,elasticsearch,运维,大数据

     如果发现索引的segment段过多,并且每个段数据量很小,那么就可以通过合并段的措施来提升检索性能。

     

那么我们在大批量迁移的时候,发现数据明明写入了但是少了很多?这是为什么呢,咱们还是可以通过cat api查看下线程池的状态,如下图:

elasticsearch系列四:集群常规运维,Elasticsearch,elasticsearch,运维,大数据

     

通过查看写入线程池的状态观测是不是达到集群最大写入能力了,导致线程池执行了拒绝策略等等。更多的线程池说明可见官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html 

    还可以通过cat查看集群中节点数据分配情况如图:

elasticsearch系列四:集群常规运维,Elasticsearch,elasticsearch,运维,大数据

    

    上面都是介绍的cat api的使用方法,那么对于有的索引状态、集群状态不正常的时候我们怎么分析原因呢?这时候就得通过cluster api了,比如诊断当前集群什么不健康,如下图:

elasticsearch系列四:集群常规运维,Elasticsearch,elasticsearch,运维,大数据

  

     比如我们得到如下原因:

The node containing this shard copy recently left the cluster. Elasticsearch is waiting for it to return. If the node does not return within [%s] then Elasticsearch will allocate this shard to another node. Please wait.

      那通过这个结果我们就可以清晰的了解到原来这个索引之所以是unassigned状态是因为,持有它的节点离开了集群,也就是说有个节点可能down了 和集群失去联系了。之前在中国电信就遇到过类似问题,由于集群中某个节点物理内存出现问题,未接到通知运维同事就临时停机修复了,当时集群部分索引状态就unassigned,也是通过explain查询到有一台物理节点失去联系了,联系运维同事后才知有一台集群出现了问题,好在当时只是存储了日志数据,停掉了所有的logstash,关闭了集群rebalance和自动分配功能,防止大量磁盘数据移动。

     待该节点恢复后再开启rebalance和自动分配功能,开启logstash消费囤积在kafka中的日志数据。

     包括我们升级es集群的时候也需要先关闭以上两个功能,具体api如下:

           cluster.routing.allocation.enable :

                 all - (默认值)允许为所有类型的分片分配分片。

                 primaries - 仅允许分配主分片的分片。

                 new_primaries - 仅允许为新索引的主分片分配分片。

                 none - 任何索引都不允许任何类型的分片。

          cluster.routing.rebalance.enable

                  all - (默认值)允许各种分片的分片平衡。

                  primaries - 仅允许主分片的分片平衡。

                  replicas - 仅允许对副本分片进行分片平衡。

                  none - 任何索引都不允许任何类型的分片平衡。

           cluster.routing.allocation.allow_rebalance

                 all 始终 - 始终允许重新平衡。

                 indices_primaries_active - 仅在所有主分片激活时。

                 indices_all_active - (默认)仅当所有分片都激活时。

    对于升级完后的集群或者部分节点正常后的es来说可能会发生数据恢复,那么这个时候如果想最短时间恢复完成,可以通过设置集群的并发度:

          cluster.routing.allocation.node_concurrent_recoveries 

该值最好等于磁盘的数量(对于raid0来说)。

总结

我们想要更好的使用es不能只注意查询语法的书写,需要全访问的深入的了解es,建议从头到尾过一遍官方文档,毕竟只有目前最了解孩子。


Elasticsearch系列经典文章

  • elasticsearch列一:索引模板的使用

  • elasticsearch系列二:引入索引模板后发现数据达到一定量还是慢怎么办?

  • elasticsearch系列三:常用查询语法

  • Elasticsearch 底层存储原理解密

  • Elasticsearch优化建议

  • 干货 | Elasticsearch 8.X 节点角色划分深入详解

elasticsearch系列四:集群常规运维,Elasticsearch,elasticsearch,运维,大数据文章来源地址https://www.toymoban.com/news/detail-762254.html

到了这里,关于elasticsearch系列四:集群常规运维的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 袁庭新ES系列14节 | 搭建Elasticsearch集群

    单节点的Elasticsearch需要在处理大量数据的时候需要消耗大量内存和CPU资源,数据量大到一定程度就会产生处理瓶颈,甚至会出现宕机。 为了解决单节点ES的处理能力的瓶颈及单节点故障问题,我们考虑使用Elasticsearch集群。接下来袁老师带领大家学习如何搭建Elasticsearch的集群

    2024年04月17日
    浏览(102)
  • elasticsearch系列九:异地容灾-CCR跨集群复制

    概述    起初只在部分业务中采用es存储数据,在主中心搭建了个集群,随着es在我们系统中的地位越来越重要,数据也越来越多,针对它的安全性问题也越发重要,那如何对es做异地容灾呢?    今天咱们就一起看下官方提供的解决方案cross-cluster replication(简称ccr)。 环境准

    2024年02月04日
    浏览(34)
  • Elasticsearch:如何从 Elasticsearch 集群中删除数据节点

    Elasticsearch 集群通常包含多个节点,并且可能存在需要从集群中删除节点的情况。 应谨慎执行此过程,以确保数据的完整性和可用性。 在本文中,我们将引导你完成从 Elasticsearch 集群安全删除节点的步骤。 在尝试从 Elasticsearch 集群中删除节点之前,确保集群处于健康状态(

    2024年02月07日
    浏览(39)
  • Elasticsearch --- 数据同步、集群

    elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的 数据同步 。   思路分析: 常见的数据同步方案有三种: 同步调用 异步通知 监听binlog   方案一:同步调用 基本步骤如下: hotel-demo对外提供接

    2024年02月03日
    浏览(31)
  • elasticsearch|大数据|elasticsearch低版本集群的部署安装和安全增强---密码设置问题

    elasticsearch的高低版本划分标准为6.3,该版本之前的为低版本,6.3版本之后的包括6.3为高版本,这么划分主要是在安全性方面也就是x-pack插件的使用部署方面,低版本需要手动安装该安全插件,而高版本无需安装。另一方面,高版本的es漏洞会少一些,而本例中使用的是低版本

    2024年02月03日
    浏览(36)
  • 【大数据开发运维解决方案】华为FusionInsight大数据Kibana对接安全模式Elasticsearch方案

    博主所在单位使用的大数据集群为华为FusionInsight,本篇文章主要介绍的是如何将开源Kibana对接到华为安全模式下Elasticsearch。同样,本篇文章适用其他版本Kibana对接安全模式Elasticsearch。 注意事项:所有配置项:后边必须有个空格。 Kibana提供了图形化操作界面,通过可视化界

    2023年04月08日
    浏览(29)
  • Elasticsearch集群搭建 + ELFK数据传输链路打通

    本文记录基于 Docker 容器化技术将 Elasticsearch 集群搭建 + ELFK 数据传输链路打通过程。 ES 是基于 Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。ES 是用 JAVA 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 ES 通信。ES 是个分布式搜

    2024年02月07日
    浏览(30)
  • ElasticSearch多数据源配置,连接多个ES集群

    开发时遇到需要连接多个ES的需求,类似于连接多个MySQL数据库一样。 Elasticsearch Java API有四类client连接方式 TransportClient RestClient Jest Spring Data Elasticsearch         其中TransportClient和RestClient是Elasticsearch原生的api。TransportClient可以支持2.x,5.x版本,TransportClient将会在Elasticsea

    2023年04月14日
    浏览(32)
  • elasticsearch[四]-数据聚合排序查询、搜索框自动补全、数据同步、集群

    **聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的 sql 要方便的多,而且查询速度非常快,可以实现近

    2024年01月19日
    浏览(41)
  • Elasticsearch集群搭建、数据分片以及位置坐标实现附近的人搜索

    es使用两种不同的方式来发现对方: 广播 单播 也可以同时使用两者,但默认的广播,单播需要已知节点列表来完成 当es实例启动的时候,它发送了广播的ping请求到地址 224.2.2.4:54328 。而其他的es实例使用同样的集群名称响应了这个请求。 一般这个默认的集群名称就是上面的

    2024年02月06日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包