Elasticsearch查询分片信息

这篇具有很好参考价值的文章主要介绍了Elasticsearch查询分片信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

package com.easy.es.monitor;

import com.easy.es.common.CommonUtils;
import com.easy.es.network.HttpClientResp;
import com.easy.es.network.HttpUtils;
import lombok.Data;

import java.io.IOException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author a.du on 2022/10/31.
 */
public class Shards {
    //index                                  shard prirep state      docs    store ip             node
    private static final String API = "/_cat/shards";

    public static List<ShardInfo> getShardInfo(String host, String port, Map<String, String> params) throws IOException, URISyntaxException {
        HttpClientResp httpClientResp = HttpUtils.doGet(CommonUtils.getUrl(host, port, API), params);
        if (200 == httpClientResp.getCode()) {
            String[] result = httpClientResp.getContent().split("\n");
            List<ShardInfo> shardInfoList = new ArrayList<>();
            for (int i = 1; i < result.length; i++) {
                ShardInfo shardInfo = new ShardInfo();
                String[] temp = result[i].split("\\s+");
                //10.101.129.205 12463 6.3.2 - 10.101.129.205:11463
                shardInfo.setIndexName(temp[0]);
                shardInfo.setShard(temp[1]);
                shardInfo.setPrirep(temp[2]);
                shardInfo.setState(temp[3]);
                shardInfo.setDocs(temp[4]);
                shardInfo.setStore(temp[5]);
                shardInfo.setIp(temp[6]);
                shardInfo.setNode(temp[7]);
                shardInfoList.add(shardInfo);
            }
            return shardInfoList;
        }
        return null;
    }
}

@Data
class ShardInfo {
    /**
     * 索引名称
     */
    private String indexName;
    /**
     * 分片编号
     */
    private String shard;
    /**
     * 主分片:p 副本分片:r
     */
    private String prirep;
    /**
     * 状态:
     * INITIALIZING: 正在恢复
     * RELOCATING: 迁移中
     * STARTED: 已启动
     * UNASSIGNED: 未分配
     */
    private String state;
    /**
     * 文档数量
     */
    private String docs;
    /**
     * 占用磁盘空间
     */
    private String store;
    /**
     * ip
     */
    private String ip;
    /**
     * 节点
     */
    private String node;
}

测试用例:
public class Main {

    public static void main(String[] args) {
     
            Map<String, String> params = new HashMap<>();
            params.put("index", "ocontent_20220905");
            System.out.println(JSON.toJSONString(Shards.getShardInfo("10.10.19.24", "1463",params)));
        } catch (IOException e) {
            e.printStackTrace();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
    }
}

文章来源地址https://www.toymoban.com/news/detail-616604.html

到了这里,关于Elasticsearch查询分片信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Elasticsearch的集群负载均衡与分片分片

    Elasticsearch是一个分布式、实时的搜索和分析引擎,它可以处理大量数据并提供快速、准确的搜索结果。在大规模应用中,Elasticsearch的性能和可用性是关键因素。为了确保高性能和高可用性,Elasticsearch需要实现集群负载均衡和分片分片。 在本文中,我们将深入探讨Elasticsear

    2024年04月25日
    浏览(42)
  • 记录Elasticsearch 分片恢复问题

    ES在重启只有健康状态变为yellow,有几个分片未分配成功 查看原因:是因为集群恢复导致的 常见的几种未分配原因如下: ALLOCATION_FAILED:由于分片分配失败而未分配。 CLUSTER_RECOVERED:由于集群恢复而未分配。 DANGLING_INDEX_IMPORTED:由于导入了悬空索引导致未分配。 EXISTING_INDE

    2024年02月03日
    浏览(38)
  • ElasticSearch--分片和副本--原理

    原文网址:ElasticSearch--分片和副本--原理_IT利刃出鞘的博客-CSDN博客 说明 本文介绍ES的分片和副本的原理。 粉丝福利 :有很多粉丝私信问我有没有Java的面试及PDF书籍等资料,我整理一下,包含: 真实 面试题汇总、简历模板、PDF书籍、PPT模板等。这些是 我自己也在用 的资料

    2023年04月09日
    浏览(42)
  • Elasticsearch 分片策略

    和数据库中的表空间类似,不过分片是为每个索引设置,一个索引可以有多个分片,分片分为主分片和副本分片,主分片和副本分片类似于数据库中的主库和备库。 主分片(shards):可以有一个或多个,但至少会有一个,默认为1。多个主分片类似于分表,可以提高大量数据

    2024年02月05日
    浏览(39)
  • Elasticsearch的分片和副本

    Elasticsearch是一个分布式搜索和分析引擎,其设计目标是在分布式环境下处理海量数据。为了实现这个目标,Elasticsearch将数据分割成多个分片,并在多台服务器上进行存储和处理。每个分片都是一个独立的Lucene索引,可以被分配到不同的节点上。 分片可以帮助Elasticsearch水平扩

    2024年02月17日
    浏览(52)
  • elasticsearch副本和分片

    1.文档冲突 当我们使用index API更新文档,可以一次性读取 修改索引副本 看起来您正在尝试修改一个已经打开的索引的非动态设置index.number_of_shards。在默认情况下,Elasticsearch不允许在索引处于打开状态时修改非动态(不可更改)的设置。 curl -XPOST http://192.168.1.136:9200/es-syslo

    2024年01月17日
    浏览(49)
  • 【Elasticsearch管理】分片分配

    可以在启动时为每个节点分配任意的元数据属性。例如,可以给节点分配机架和size属性 这些元数据属性可以与 index.routing.allocation.* 一起使用,为特定节点组分配索引的设置。 例如,我们可以将索引测试移动到大节点或中节点: 或者,我们可以使用exclude规则将索引test远离s

    2024年03月09日
    浏览(67)
  • ElasticSearch 数据分片

    一、ElasticSearch 分片 ElasticSearch集群中有许多个节点(Node),每一个节点实例就是一个实例;数据分布在分片之间。集群的容量和性能主要取决于分片如何在节点上如何分配。将数据分片是为了提高可处理的容量和易于进行水平扩展,为分片做副本是为了提高集群的稳定性和提高

    2024年02月03日
    浏览(41)
  • 深入理解Elasticsearch分片

    了解分片的基本原理,对Elasticsearch性能调优有帮助。 ES底层使用的是Lucene库,ES的分片(shard )是Lucene的索引,ES的索引是分片的集合,Lucene的索引是由多个段(segment)组成。 Per-segment search,也即 按段搜索 ,是Lucene中的概念。每个段本身就是一个倒排索引,Lucene中的索引除

    2024年01月22日
    浏览(40)
  • Elasticsearch的分片平衡问题解决

    2023年11月份在某电商系统生产中的Elasticsearch(以下简称ES)集群突然,出现了大量慢查询告警,导致请求堆积。经过几天的排查发现了ES节点主分片和副本分片分布存在不均匀的问题。当然了暂未有定论是由于分片不均衡导致了性能下降,但是主分片和副本分片分布不均匀确

    2024年02月03日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包