《Elastic Stack 实战手册》——三、产品能力——3.3.基础篇——3.3.2.专有名词解释(1) https://developer.aliyun.com/article/1231574
Node
单个 Elasticsearch 实例。
在大多数环境中,每个节点都在单独的盒子或虚拟机上运行。一个集群由一个或多个 node 组成。在测试的环境中,我可以把多个 node 运行在一个 server 上。在实际的部署中,大多数情况还是需要一个 server 上运行一个 node。
根据 node 的作用,可以分为如下的几种:
l master-eligible:可以作为主 node。一旦成为主 node,它可以管理整个 cluster 的设置及变化:创建,更新,删除 index;添加或删除 node;为 node 分配 shard
l data:数据 node
l ingest: 数据接入(比如 pipepline)
l machine learning (Gold/Platinum License)
一般来说,一个 node 可以具有上面的一种或几种功能。我们可以在命令行或者Elasticsearch的配置文件(elasticsearch.yml)来定义:
你也可以让一个 node 做专有的功能及角色。如果上面 node 配置参数没有任何配置,那么我们可以认为这个 node 是作为一个 coordination node。在这种情况下,它可以接受外部的请求,并转发到相应的节点来处理。针对 master node,有时我们需要设置 cluster.remote.connect: false。
在实际的使用中,我们可以把请求发送给 data 节点,而不能发送给 master 节点。
我们可以通过对 config/elasticsearch.yml 文件中配置来定义一个 node 在集群中的角色:
在有些情况中,我们可以通过设置 node.voting_only 为 true 从而使得一个 node 在 node.master 为真的情况下,只作为参加 voting 的功能,而不当选为 master node。这种情况为了避免脑裂情况发生。它通常可以使用一个 CPU 性能较低的 node 来担当。
在一个集群中,我们可以使用如下的一个命令来获取当前可以进行 vote 的所有 master-eligible 节点:
GET /_cluster/state?filter_path=metadata.cluster_coordination.last_committed_config
你可能获得类似如下列表的结果:
{ "metadata" : { "cluster_coordination" : { "last_committed_config" : [ "Xe6KFUYCTA6AWRpbw84qaQ", "OvD79L1lQme1hi06Ouiu7Q", "e6KF9L1lQUYbw84CTAemQl" ] } } }
在整个 Elastic 的架构中,Data Node 和 Cluster 的关系表述如下:
上面的定义适用于 Elastic Stack 7.9 发布版以前。在 Elastic Stack 7.9 之后,有了新的改进。
请详细阅读文章 “Elasticsearch:Node roles 介绍 - 7.9 之后版本”:
https://elasticstack.blog.csdn.net/article/details/110947372
Document
Elasticsearch 是面向文档的,这意味着您索引或搜索的最小数据单元是文档。
文档在 Elasticsearch 中有一些重要的属性:
l 它是独立的。文档包含字段(名称)及其值。
l 它可以是分层的。可以将其视为文档中的文档。字段的值可以很简单,就像位置字段的值可以是字符串一样。它还可以包含其他字段和值。例如,位置字段可能包含城市和街道地址。
l 结构灵活。你的文档不依赖于预定义的架构。例如,并非所有事件都需要描述值,因此可以完全省略该字段。但它可能需要新的字段,例如位置的纬度和经度。
文档通常是数据的 JSON 表示形式。JSON over HTTP 是与 Elasticsearch 进行通信的最广泛使用的方式,它是我们在本书中使用的方法。
例如,你的聚会网站中的事件可以在以下文档中表示:
{ "name": "Elasticsearch Denver", "organizer": "Lee", "location": "Denver, Colorado, USA" }
很多人认为 Document 相比较于关系数据库,它相应于其中每个 record。
《Elastic Stack 实战手册》——三、产品能力——3.3.基础篇——3.3.2.专有名词解释(3) https://developer.aliyun.com/article/1231572