Java基于elasticsearch实现集群管理

这篇文章主要介绍了java基于elasticsearch实现集群管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

本篇文章主要是查看集群中的相关信息,具体请看代码和注释

@Test
public void test45() throws UnknownHostException{
  //1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称
  Settings settings = Settings.builder().put("cluster.name", "my-application").build();
  //2.创建访问ES服务器的客户端
  TransportClient client = new PreBuiltTransportClient(settings)
      .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.1.94"), 9300));
  //获取集群信息
  ClusterHealthResponse healthResponse = client.admin().cluster().prepareHealth().get();
  //获取集群名称
  String clusterName = healthResponse.getClusterName();
  System.out.println(clusterName);
  //获取存放数据的那些节点
  int numberOfDataNodes = healthResponse.getNumberOfDataNodes();
  System.out.println(numberOfDataNodes);
  //获取节点的总数量
  int numberOfNodes = healthResponse.getNumberOfNodes();
  System.out.println(numberOfNodes);
  //获取集群中一共有多少索引
  for(ClusterIndexHealth health:healthResponse.getIndices().values()) {
    String index = health.getIndex();//当前索引名称
    int numberOfShards = health.getNumberOfShards();//主分片
    int numberOfReplicas = health.getNumberOfReplicas();//副本
    ClusterHealthStatus status = health.getStatus();//得到当前的健康状况
    System.out.println(status);//健康-绿色 一般-黄色 不健康-红色
  }
  
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Java基于elasticsearch实现集群管理)