Elasticsearch java API (27)集群管理

集群管理编辑

访问集群Java API,您需要调用 cluster()方法从一个 AdminClient:

ClusterAdminClient clusterAdminClient = client.admin().cluster();

在本指南中,我们将使用 client.admin().cluster().

集群的健康编辑

健康编辑

集群健康API允许获得一个非常简单的集群的健康状态,也可以给你一些技术信息集群状态每指数:

ClusterHealthResponse healths = client.admin().cluster().prepareHealth().get(); //1
String clusterName = healths.getClusterName();              //2
int numberOfDataNodes = healths.getNumberOfDataNodes();     //3
int numberOfNodes = healths.getNumberOfNodes();             //4

for (ClusterIndexHealth health : healths) {                 //5
    String index = health.getIndex();                       //6
    int numberOfShards = health.getNumberOfShards();        //7
    int numberOfReplicas = health.getNumberOfReplicas();    //8
    ClusterHealthStatus status = health.getStatus();        //9
}

所有指标的获得信息

访问集群名称

数据节点的总数

得到节点的总数

遍历所有指标

索引名称

碎片的数量

数量的副本

指数状态

等待状态编辑

您可以使用集群健康API来等待一个特定的状态对整个集群或对于一个给定的指标:

client.admin().cluster().prepareHealth()       //1     
        .setWaitForYellowStatus()                 //2  
        .get();
client.admin().cluster().prepareHealth("company")   //3
        .setWaitForGreenStatus()                    //4
        .get();

client.admin().cluster().prepareHealth("employee")  //5
        .setWaitForGreenStatus()                    //6
        .setTimeout(TimeValue.timeValueSeconds(2))  //7
        .get();

准备一个健康要求

等待集群是黄色的

准备健康指数的请求 company

等待被绿色的指数

准备健康指数的请求 employee

等待被绿色的指数

最多等待2秒

如果该指数没有预期的状态和你想失败在这种情况下,您需要显式地解释结果:

ClusterHealthResponse response = client.admin().cluster().prepareHealth("company")
        .setWaitForGreenStatus()    //1
        .get();

ClusterHealthStatus status = response.getIndices().get("company").getStatus();
if (!status.equals(ClusterHealthStatus.GREEN)) {
    throw new RuntimeException("Index is in " + status + " state"); //2
}

等待被绿色的指数

如果不抛出异常 GREEN



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值