Setting
设置client.transport.sniff为true来使客户端去嗅探整个集群的状态,把集群中其它机器的ip地址加到客户端中
// 获取Setting方法
Settings settings = Settings.builder()
.put("client.transport.sniff", false)
.put("cluster.name", ESProperties.getName())
.build();
Client
// 设置ES连接
client = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), Integer.valueOf(9300)));
案例展示
public class ESClient {
public static final int MAX_RESULT = 100000000;
private static Client client ;
public static void createInstance() {
// 设置client.transport.sniff为true来使客户端去嗅探整个集群的状态,把集群中其它机器的ip地址加到客户端中
// 设置ES连接
TransportAddress address;
try {
Settings settings = Settings.builder()
.put("client.transport.sniff", false)
.put("cluster.name", ESProperties.getName())
.build();
client = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ESProperties.getIp()), Integer.valueOf(ESProperties.getPort())));
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Client getInstance(){
if (client == null){
synchronized(ESClient.class){
if (client == null){
createInstance();
}
}
}
return client;
}
}