如何使用Elasticsearch Node Client Java连接远程服务器

8

我正在尝试使用Elasticsearch Java NodeBuilder Client连接我的服务器。然而,我没有看到任何指定服务器地址和端口的选项(就像我们可以在Transport Client中使用addNewTransportAddress("serveraddress", port)一样)。我该如何使Node Client连接到我的服务器?代码如下,在哪里提到连接到的服务器地址?

//On Startup
Node node = nodeBuilder()
        .clusterName("elasticsearch")
        .data(false) //No shards allocated; or can set client to true
        .client(true) //No shards allocated; or can set data to false
        .node();

//Node Client
Client client = node.client();

//Get API       
GetResponse response = client.prepareGet("indexname", "type", "id")
        .execute()
        .actionGet();

System.out.println("----------------Index Output Begin----------------");
System.out.println("Index Name: " + response.getIndex());
System.out.println("Type: " + response.getType());
System.out.println("Document ID: " + response.getId());
System.out.println("Document Version: " + response.getVersion());
System.out.println("Source: " + response.getSourceAsString());
2个回答

8

节点客户端基于多播协议。您的客户端和节点之间的网络必须在启用多播的网络中。然后,客户端将根据集群名称“发现”节点。

如果您需要连接到远程服务器(通过指定IP地址),则必须使用传输客户端

Settings settings = ImmutableSettings.settingsBuilder()
        .put("cluster.name", "myClusterName").build();
Client client = new TransportClient(settings)
        .addTransportAddress(new InetSocketTransportAddress("host1", 9300))
        .addTransportAddress(new InetSocketTransportAddress("host2", 9300));

0

当我使用ImmutableSettings时,出现了"ImmutableSettings cannot be resolved"的错误。

我的代码如下:

Node node =nodeBuilder()
           .settings(ImmutableSettings.settingsBuilder().put("path.home",   "/home/amit/elasticsearch-2.1.0/bin"))
            .client(true)
            .node();
        Client client = node.client(); 

我遇到了同样的问题。在2.2.0版本中,ImmutableSettings似乎被Settings替换了。 - Seid.M
Node node = NodeBuilder.nodeBuilder().settings(Settings.builder() .put("path.home", "/media/rajnish/7F58-E3202/elasticsearch-2.1.0")) .client(false) .local(true) .node(); //创建客户端对象。
Client client = node.client();
- Rajnikant Baflipara

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接