弹性搜索中的多个节点和复制,具有乐观的性能

时间:2016-05-10 10:37:42

标签: elasticsearch spring-data-elasticsearch jest

我正在尝试使用5个节点连接弹性搜索中的多个节点。 2个节点作为主节点,3个作为数据节点。

如果我将复制用作2,会产生什么影响?表现会好还是不好?

1 个答案:

答案 0 :(得分:0)

首先避免保留2个主节点,因为它容易受到split brain problem的影响。

有多少效率?

主/数据节点的数量在很大程度上取决于您对群集的使用情况。尝试获得以下问题的答案:

  1. 您的群集索引是重的,搜索重的还是两者兼而有之?
  2. 您要做多少数据来进行索引,以及以什么频率进行索引?
  3. 您期望有多少搜索请求命中?
  4. 如何协调它们

    你不需要。 Elasticsearch的节点能够这样做。只需确保您的elasticsearch.yml具有所有提到的节点IP(在单播主机下,我宁愿避免多播)。使用这样的配置:

    discovery.zen.ping.multicast.enabled: false 
    discovery.zen.ping.unicast.hosts: ["<node1-ip:port>", "<node2-ip:port>", "<node3-ip:port>", "<node4-ip:port>"]
    

    如果我将复制用作2

    ,会有什么影响

    添加副本会增加磁盘使用量和堆大小。对于4个节点,复制因子1应该足够,除非您需要高冗余。

    因为您已将spring-data-elasticsearch添加为标记,所以我假设您要将其用作Elasticsearch的传输客户端。查看this tutorial即可开始使用。