Elasticsearch Java API 配置測試
阿新 • • 發佈:2018-01-21
int tcl 等待時間 class ket sni ted earch sample
Elasticsearch1.X,2.X,5.X隨著版本的叠代,除了系統升級,Java API也做了相對較大的調整,也就是說,1.X的API在2.X以及5.X乃至未來6.X版本都不是通用的。
本例子使用的版本是5.6.5
一. 首先添加maven依賴
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.6.5</version> </dependency>
二。連接方式
Settings settings = Settings.builder().put("cluster.name", "my-application").build(); //設置集群名稱 TransportClient client = new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("10.10.10.5"), 9300));
輸客戶端自帶一個集群嗅探特性,可以動態地添加新主機並刪除舊主機,當啟用這個特性時,傳輸客戶端將連接到其內部節點列表中的節點
嗅探器開啟方式:
Settings settings = Settings.builder() .put("client.transport.sniff", true).build();
TransportClient client = new PreBuiltTransportClient(settings);
其他transport client的設置包括:
client.transport.ignore_cluster_name :設置為true 可以忽略節點連接時對集群名字的校驗
client.transport.ping_timeout :設置一個節點在得到response時的等待時間,默認5秒
client.transport.nodes_sampler_interval:多久進行獲取/ping 列出的節點並且連接,默認5秒
三。查看集群信息
List<DiscoveryNode> nodes = client.connectedNodes(); for (DiscoveryNode node : nodes) { System.out.println(node.getHostAddress()); System.out.println(node.getName()); System.out.println(node.getVersion()); }
Elasticsearch Java API 配置測試