簡體   English   中英

Elasticsearch 如何利用集群?

[英]Elasticsearch how to take advantage of cluster?

將單節點改為多節點集群后,是否需要采取任何措施來發揮集群的優勢?

例如,我們的應用服務器使用單個ip/port (我們的單節點的 ip/port)來搜索文檔。
另外logstash、kibana、spark,都指向單個ip/port。

我應該放置load balancer來利用多節點嗎? 或者我可以免費得到一些東西嗎?

我遵循了以下 docker 文件(只是將網絡模式更改為托管並部署在多個主機上

  es-log-00:
   build:
     context: .
     dockerfile: ./compose/elasticsearch/Dockerfile
     args:
       - VERSION=${VERSION}
       - ELASTICSEARCH_NETWORK_HOST=${ELASTICSEARCH_NETWORK_HOST}
       - ELASTICSEARCH_PORT=${ELASTICSEARCH_PORT}
       - MEM=${MEM}
       - ENV=${ENV}
   container_name: es-log-00
   network_mode: host
   environment:
       - node.name=node-master
       - discovery.seed_hosts=node1,node2
       - cluster.initial_master_nodes=node-master,node1,node2
       - bootstrap.memory_lock=true
       - cluster.name=littlehome-log
       - network.publish_host=192.168.1.105
   volumes:
    - /etc/localtime:/etc/localtime:ro
    - /var/lib/elasticsearch:/usr/share/elasticsearch/data
    - /var/lib/elasticsearch-backup:/var/lib/elasticsearch-backup
   ulimits:
     memlock:
       soft: -1
       hard: -1
     nofile:
       soft: 65536
       hard: 65536

   es-log-01:
   restart: always
   build:
     context: .
     dockerfile: ./compose/elasticsearch/Dockerfile
     args:
       - VERSION=${VERSION}
       - ELASTICSEARCH_NETWORK_HOST=${ELASTICSEARCH_NETWORK_HOST}
       - ELASTICSEARCH_PORT=${ELASTICSEARCH_PORT_SEARCH}
       - MEM=${MEM1}
       - ENV=${ENV}
   container_name: es-log-01
   network_mode: host
   environment:
       - node.name=node1
       - discovery.seed_hosts=node-master,node2
       - cluster.initial_master_nodes=node-master,node1,node2
       - bootstrap.memory_lock=true
       - cluster.name=littlehome-log
       - network.publish_host=192.168.1.123
   volumes:
    - /etc/localtime:/etc/localtime:ro
    - data-log1:/usr/share/elasticsearch/data
   ulimits:
     memlock:
       soft: -1
       hard: -1
     nofile:
       soft: 65536
       hard: 65536

您無需執行任何特殊操作即可利用 Elasticsearch 中的並行化。 當集群中有一個包含多個分片的索引時,Elasticsearch 將嘗試平衡集群中每個索引的主分片,當您進行查詢時,它會將查詢發送到保存每個分片的主副本的節點。 然后每個節點將對該分片執行查詢並將結果返回到協調節點,協調節點執行任何排序或聚合並將結果集返回給客戶端。

使用負載均衡器是一個好主意,以防單個節點出現故障,但一般來說,除了每個索引有多個分片外,您無需執行任何操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM