Elasticsearch节点的角色

首先

目的是概述设置在Elasticsearch Cluster的每个节点上的角色。由于解释所有节点将没有穷尽,故只限定于主节点、数据节点、摄取节点和协调节点。

2. 默认设置

通过设置elasticsearch.yml中的node.roles,可以设置Elasticsearch节点的角色。如果不明确设置,则Elasticsearch将默认扮演以下角色。对于小规模的Elasticsearch集群,通常不需要特别设置,但是在构建大规模的Elasticsearch集群时,将master和data分离是常见的做法。

    master
    data
    data_content
    data_hot
    data_warm
    data_cold
    data_frozen
    ingest
    ml
    remote_cluster_client
    transform

3.可以成为主节点的节点

“主节点”是指

这是用于控制集群的节点。在构建Elasticsearch集群时,至少需要3个可选的主节点。如果只有2个节点,会出现split brain问题,无法作为一个集群正常运行。从可选的主节点中选择一台作为主节点,其余的可选主节点将用作备用节点以应对主节点故障。

主节点的健康检查

主节点会定期对构成 Elasticsearch 集群的所有节点进行健康检查。如果健康检查失败,说明该节点发生了故障。

为了应对故障发生,至关重要的是在发生故障时,确保超过半数的可作为主节点的节点被确认为主节点。具体来说,通过在 `discovery.zen.minimum_master_node` 中设置(可作为主节点的节点数÷2)+1 来进行配置。

image.png
专用的主节点

将只具有主节点角色的Elasticsearch节点称为专用的主节点-合格节点。为了确保Elasticsearch集群的良好状态,确保选举出的主节点没有过载是非常重要的。因此,在构建大规模的Elasticsearch集群时,将其他功能分配给主-合格节点是非常重要的(设置为专用的主-合格节点)。

3.数据节点

数据节点(Data nodes)负责保存索引分片(IndexingされたShard)。数据节点执行与数据相关的CRUD(Create Read Update Delete:相当于Elasticsearch中的搜索和聚合)操作。由于执行这些操作需要高I/O和CPU,因此需要适用高规格的硬件资源。

如果想要将多层次部署架构的概念应用于数据节点,则需要明确指定数据节点的角色(data_content、data_hot、data_warm、data_cold或data_frozen)。

4.节点内的数据摄入

这是一个用于在Elasticsearch中进行预处理流程(在进行索引之前对文档进行处理和整形)的节点。对于大规模的Elasticsearch集群,建议将其与主节点和数据节点分离,并作为独立的摄取节点进行构建。

5. 协调节点

这个节点负责接收搜索和索引的请求。每个节点都具有协调节点的角色,无法禁用。

6.其他提示

需要为主节点(即使是专用的可选主节点)设置path.data。对于数据节点,索引数据将被存储,但对于主节点,保存的是用于集群管理的元数据。

在elasticsearch.yml文件中,将discovery.seed_hosts和cluster.initial_master_nodes设置为仅包含主节点。不需要设置数据节点的目的地。

Elasticsearch.hosts(kibana.yml)
此处列出接收HTTP请求的节点。由于协调节点负责接收请求,因此我认为可以列出构成Elasticsearch集群的所有节点,这样做没问题。

如果在AWS上搭建,以下是推荐的实例类型。

    • 各ノードの役割

 

    • Elasticsearch Clusterのノード数の最低条件

 

    • split barainの開設

 

    • クラスタ障害時の挙動が分かり易い資料

 

    大規模クラスタの場合に、MasternodeをDedicatedにする理由
广告
将在 10 秒后关闭
bannerAds