如何设置弹性集群以处理大量数据?

时间:2018-09-04 05:26:38

标签: elasticsearch full-text-search bigdata

我被要求为大约100 TB的文本数据设置弹性搜索集群! 我已经知道如何进行弹性搜索和聚合,但是我真的不知道如何为这样的大数据设置具有多个节点的集群! 我的意思是多少个大师,zoe老板,CD,...?还是我需要一台专用服务器用于activeMQ? ...

是否有任何文件可以解释这一点?

1 个答案:

答案 0 :(得分:1)

ES是一个分布式系统,创建具有1个节点或1000个节点的集群没有多大区别。

在这种情况下,您可以做的是拥有一些主节点和更多数据节点来创建一个大型集群。

  

主节点负责集群范围内的轻量级操作   例如创建或删除索引,跟踪哪些节点是一部分   集群,并确定将哪些分片分配给哪些节点。

     

数据节点包含包含您拥有的文档的分片   索引。数据节点处理与数据相关的操作,例如CRUD,搜索,   和聚合。这些操作是I / O,内存和   CPU密集型。监视这些资源并添加   如果数据节点过载,则会有更多的数据节点。

您可以选择较小的主节点(如果不保存数据)和较大的数据节点。

以下是主节点的配置。

http.port: 9200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
cluster.name: elasticsearch_hobbes ## note this cluster name must be same for all the es nodes in the same cluster
node.name: "elasticsearch_001_master"// give 002 for other master node
node.master: true
**node.data: false (This master node will not hold the data)**
path.data: /usr/local/var/elasticsearch/
path.logs: /usr/local/var/log/elasticsearch/
discovery.zen.ping.multicast.enabled: false

下面是数据节点的配置。

cluster.name: elasticsearch_hobbes
node.name: "node2"
node.master: false
node.data : true
http.port: 9201
discovery.zen.ping.multicast.enabled: false
script.engine.groovy.inline.aggs: on
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

然后,您可以通过单击http://localhost:9200/_plugin/kopf/#!/cluster转到主节点的KOPF plugin并查看以下屏幕,其中显示了群集中的所有三个节点。

注意:-请按照https://github.com/lmenezes/elasticsearch-kopf安装KOPF插件。如果您在设置群集时遇到任何问题,请告诉我。