当前位置: 首页 > 面试题库 >

Elastic search中的“禁用节点发现”

卫浩瀚
2023-03-14
问题内容

我在UBUNTU上使用了下面的Java代码,但正在“节点发现已禁用”。因此,我无法前进。

谁能帮我解决这个问题。

    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;
    }

问题答案:

我不确定您使用的是哪个版本。我正在使用0.1.2,而我的工厂只有一个 setHttpClientConfig 方法。因此,我改用了
HttpClientConfig ,它扩展了 ClientConfig 。撇开这一点,构建器有两种您需要的方法:

  • DiscoveryEnabled
  • 发现频率

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

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

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


 类似资料:
  • 问题内容: ElasticSearch中如何有多个节点?我在elasticsearch.yml中使用以下内容,但只有最后一个节点启动,浏览器抱怨:。 问题答案: 我认为最简单的方法是在命令行上指定这些参数。要启动三个节点,您只需要在elasticsearch主目录中运行以下三个命令: 另一个解决方案是创建3个不同的配置文件,并使用参数启动三个节点。

  • Ingest 节点是 Elasticsearch 5.0 新增的节点类型和功能。其开启方式为:在 elasticsearch.yml 中定义: node.ingest: true Ingest 节点的基础原理,是:节点接收到数据之后,根据请求参数中指定的管道流 id,找到对应的已注册管道流,对数据进行处理,然后将处理过后的数据,按照 Elasticsearch 标准的 indexing 流程继续运

  • 我的设置是在4个Wildfly10.1服务器节点前面安装一个Apache httpd2.4服务器。我使用mod_cluster进行负载平衡,大部分时间一切都运行良好。但每天都有几次,这会出现在Apache的错误日志中: 当这些错误出现时,用户抱怨他们被注销出了系统。发生这种情况是因为我使用的是粘滞会话,当错误出现时,每个人似乎都从一个节点移动到了另一个节点,这意味着他们的会话丢失了。 然而,即使日

  • 问题内容: 我从计算机访问服务器 得到这个 为什么使用Java API会出错? 编辑 有集群和节点部分的配置 问题答案: 一些建议: 1-使用端口9300。[9300-9400]用于节点到节点通信,[9200-9300]用于HTTP通信。 2-确保您使用的Java API的版本与服务器上运行的elasticsearch的版本匹配。 3-确保集群名称为(检查服务器上的elasticsearch.ym

  • 问题内容: 我从计算机访问服务器 得到这个 为什么使用Java API会出错? 编辑 有集群和节点部分的配置 问题答案: 一些建议: 1-使用端口9300。[9300-9400]用于节点到节点通信,[9200-9300]用于HTTP通信。 2-确保您使用的Java API的版本与服务器上运行的elasticsearch的版本匹配。 3-确保集群名称为(检查服务器上的elasticsearch.ym

  • 首先,我为我的英语感到抱歉。我有一个问题与Java API传输客户端。我有一个主节点和三个数据节点。我的Elasticsearch版本是5.0.2,我使用5.0.2 API。 我尝试用传输客户端连接到群集,然后响应 这是我的客户端代码: 传输客户端的端口-9300,我的所有节点都在此端口下通信。我看到了很多和我一样的问题,我试图遵循其中包含的建议。但我也有同样的例外。 如果需要更多的信息或任何文件