[英]Connection to remote elastic search cluster fails
I am trying to connect to a remote elastic search cluster using Transport client. 我正在尝试使用传输客户端连接到远程弹性搜索集群。
public class AuthenticationExample {
public static void main(String[] args) throws Exception {
if (args.length != 4) {
System.out.println("Usage :\njava -jar jarFile.jar clusterName hostIP port index");
System.exit(0);
}
String clusterName = args[0];
String hostName = args[1];
int port = Integer.parseInt(args[2]);
String index = args[3];
Settings settings = Settings.builder()
.put("cluster.name", clusterName).build();
TransportClient esClient = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(hostName), port));
esClient.threadPool().getThreadContext().putHeader("Authorization", "Basic " + Base64.encodeBase64("user:password".getBytes()));
System.out.println("Initialized successfully.");
boolean isIndexExists = false;
isIndexExists = esClient.admin().indices().prepareExists(index).execute().actionGet().isExists();
if (isIndexExists) {
System.out.println("Is Index " + index + " Exists? " + isIndexExists);
} else {
System.out.println("Index " + index + " does not exist");
}
}
}
When I run the above code, as 当我运行上面的代码时,
java -jar jarFile.jar clusterName XXX.XXX.XXX.XXX 9300 indexName java -jar jarFile.jar clusterName XXX.XXX.XXX.XXX 9300 indexName
I am getting the following exception NoNodeAvailableException[None of the configured nodes are available: ... 我收到以下异常NoNodeAvailableException [没有已配置的节点可用:...
Also when I hit the endpoint using, 另外,当我使用
curl -XGET -u user:password http://XXX.XXX.XXX.XXX:9200 curl -XGET -u用户:密码http://XXX.XXX.XXX.XXX:9200
I am getting the response as follows, 我得到如下回应,
{
"name" : "XfJq4ed",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "26yoM76iT8i-eo8k0E8y4g",
"version" : {
"number" : "5.4.0",
"build_hash" : "780f8c4",
"build_date" : "2017-04-28T17:43:27.229Z",
"build_snapshot" : false,
"lucene_version" : "6.5.0"
},
"tagline" : "You Know, for Search"
}
Kindly give me a solution. 请给我一个解决方案。 Thanks 谢谢
Did you allowed the HTTP module? 您是否允许HTTP模块?
You can see the avalaible options here: https://www.elastic.co/guide/en/elasticsearch/reference/5.4/modules-http.html 您可以在此处查看可用的选项: https ://www.elastic.co/guide/en/elasticsearch/reference/5.4/modules-http.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.