首页 > 学院 > 开发设计 > 正文

ElasticSearch 测试连接工具(TestConnection)

2019-11-10 17:58:14
字体:
来源:转载
供稿:网友

截止到0.90.x的版本,Elasticsearch已经将connectedNodes从api中去掉,具体代替的方法是什么呢?也没有找到相关的说明。

因此决定自己手工写一个工具类。其实,我们只有通过API去执行一个方法,就可以测试连接是否正常。测试的方法选定为获得集群node的信息。测试代码:

java代码

import java.util.Map;  

import org.elasticsearch.action.admin.cluster.node.info.NodeInfo;  

import org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest;  

import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;  

import org.elasticsearch.client.Client;  

 

import com.donlianli.es.ESUtils;  

/**

* @author donlianli@126.com

* 测试服务器的可用状态

*/  

public class TestConnection {  

   /**

    * 测试ES可用连接数方法

    * 同时也也可以用以校验ES是否可以连接上

    */  

   public static void main(String[] args) {  

       //通过transport方式连接哦,否则没有意义了  

       Client client = ESUtils.getClient();  

       try{  

           NodesInfoResponse response = client.admin().cluster()  

                   //超时时间设置为半分钟  

                   .nodesInfo(new NodesInfoRequest().timeout("30")).actionGet();  

           Map<String,NodeInfo> nodesMap = response.getNodesMap();  

           //打印节点信息  

           for(Map.Entry<String, NodeInfo> entry : nodesMap.entrySet()){  

               System.out.PRintln(entry.getKey() + ":" + entry.getValue().getServiceAttributes()) ;  

           }  

       }  

       catch(Exception e){  

           e.printStackTrace();  

           System.out.println("无法连接到Elasticsearch");  

       }  

   }  

}  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表