elasticsearch - 如何为海量数据设置弹性集群?
问题描述
我被要求为大约 100 TB 的文本数据设置弹性搜索集群!我已经知道如何在弹性中进行搜索和聚合,但我真的不知道如何为这样的大数据设置具有多个节点的集群!我的意思是有多少大师,佐伊饲养员,CD,......?或者我需要一台用于activeMQ的专用服务器吗?...
有什么文件可以解释吗?
解决方案
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 插件。如果您在设置集群时遇到任何问题,请告诉我。
推荐阅读
- jquery - 如何删除附加'div' jquery codeigniter
- unity3d - AssetBundle 中的整个级别
- php - laravel 关系只得到第二个关系
- linux - IBM Watson Studio 安装问题卡在“预安装脚本超时,重试”
- php - php - 自动加载不适用于静态方法
- spring-boot - 使用 Spring Security oAuth + Spring Boot 登录后不会重定向到安全页面
- javascript - 在 D3 图表中将 Xaxis 值显示为非时间序列值
- javascript - 同步融合 JS OLAP
- reactjs - React导航:React Invariant Violation:元素类型无效:检查`NavigationContainer`的渲染方法
- java - 如何在两个坐标之间填充二维布尔数组?