弹性搜索中的“节点发现被禁用”

时间:2014-07-11 05:28:29

标签: elasticsearch

我在UBUNTU上使用了以下Java代码,我得到了#34; Node Discovery Disabled"。因此,我无法继续前进。

有谁可以帮我解决这个问题。

    public static JestClient JestConfiguration(){

    // Configuration
    ClientConfig client = new ClientConfig.Builder("http://localhost:9200")
                              .multiThreaded(true).build();

    System.out.println("\nclient configured via:- "+client);

    // Construct a new Jest client according to configuration via factory

    JestClientFactory factory = new JestClientFactory();
    factory.setClientConfig(client);
    System.out.println("\nJestClientFactory Via:-"+factory);

    JestClient jestClient = factory.getObject();
    System.out.println("\njestClient via:-"+jestClient);

    //jestClient.shutdownClient();
    return jestClient;
    }

1 个答案:

答案 0 :(得分:4)

我不确定您使用的是哪个版本。我使用0.1.2和工厂我只有一个 setHttpClientConfig 方法。所以我使用了 HttpClientConfig ,扩展了 ClientConfig 。除此之外,构建器有两种您想要的方法:

  • discoveryEnabled
  • discoveryFrequency

这些设置节点节点发现以及轮询的频率。

HttpClientConfig httpClientConfig = new HttpClientConfig.Builder("http://localhost:9200") 
        .discoveryEnabled(true)
        .discoveryFrequency(10l, TimeUnit.SECONDS)
        .multiThreaded(true)
        .build();

JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(httpClientConfig);