zoukankan      html  css  js  c++  java
  • ElasticSearch(十四) Cluster Administration

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

    Cluster Health

    ClusterHealthResponse healths = client.admin().cluster().prepareHealth().get(); 
    String clusterName = healths.getClusterName();              
    int numberOfDataNodes = healths.getNumberOfDataNodes();     
    int numberOfNodes = healths.getNumberOfNodes();             
    for (ClusterIndexHealth health : healths.getIndices().values()) { 
        String index = health.getIndex();                       
        int numberOfShards = health.getNumberOfShards();        
        int numberOfReplicas = health.getNumberOfReplicas();    
        ClusterHealthStatus status = health.getStatus();        
    }

    Wait for status

    You can use the cluster health API to wait for a specific status for the whole cluster or for a given index:

    client.admin().cluster().prepareHealth()            
            .setWaitForYellowStatus()                   
            .get();
    client.admin().cluster().prepareHealth("company")   
            .setWaitForGreenStatus()                    
            .get();
    
    client.admin().cluster().prepareHealth("employee")  
            .setWaitForGreenStatus()                    
            .setTimeout(TimeValue.timeValueSeconds(2))  
            .get();

    If the index does not have the expected status and you want to fail in that case, you need to explicitly interpret the result:

    ClusterHealthResponse response = client.admin().cluster().prepareHealth("company")
            .setWaitForGreenStatus()    
            .get();
    
    ClusterHealthStatus status = response.getIndices().get("company").getStatus();
    if (!status.equals(ClusterHealthStatus.GREEN)) {
        throw new RuntimeException("Index is in " + status + " state"); 
    }



  • 相关阅读:
    设计模式 单件-Singleton
    积累PDU
    设计模式 工厂-Factory
    设计模式 策略-Strategy,装饰-Decorator,观察者-Observer
    Java多线程编程
    Red Hat Linux认证
    认识Agile,Scrum和DevOps
    FPDF中文应用攻略
    ERROR 1010 (HY000): Error dropping database (can't rmdir '.kehuanedu_db', errno: 41)
    xampp修改mysql的默认空密码
  • 原文地址:https://www.cnblogs.com/xiaocandou/p/8127462.html
Copyright © 2011-2022 走看看