Elasticsearch(十) 模块

1. 节点Node

一个Elasticsearch实例就是一个节点。默认情况下,每个节点都可以处理Http和Transport通信,其中Transport层用于节点以及Java TransportClient间的通信,Http层用于外部REST clients。节点类型:

  • Mater-eligible node:默认为true,表示有被选举为master节点的资格。一个集群中只有一个Master node。功能:创建/删除索引、追踪集群节点、对节点分配分片等。
  • Data node:默认为true,可以保存数据,执行CRUD、search和聚合等与数据相关的操作。
  • Ingest node:默认为true,在文档被索引前执行预处理操作,如:定义一个有一系列Processors(处理器)组成的pipeline,在文档被索引前对文档执行该pipeline。

在集群比较小时一个节点可以扮演Mater-eligible node、Data node、Ingest node三种角色,但是随着集群规模的增长,将Mater-eligible node和Data node从同一个节点分离就变很重要了。

Coordinating node(协调节点):当node.master、node.data和node.ingest都为false时,则当前节点为协调节点。一个search请求分两个阶段:scatter阶段(协调节点将请求转发到data nodes,每一个data node在本地执行搜索请求并将结果返回给协调节点)和gather阶段(协调节点基于搜索条件将每一个data node的结果聚集到一个全局结果集中)。

为了避免split brain应该设置discovery.zen.minimum_master_nodes=(master_eligible_nodes / 2) + 1

2. Local Gateway

存储整个集群重新启动时的集群状态和分片数据。

Elasticsearch的恢复过程是一个初始化所有分片和副本,从事务日志读取所有数据,并将其应用到分片的过程。

  • gateway.expected_nodes:当集群中节点个数与该属性值相等时立即启动恢复过程。
  • gateway.expected_master_nodes:当集群中Mater-eligible节点个数与该属性值相等时立即启动恢复过程。
  • gateway.expected_data_nodes:当集群中data节点个数与该属性值相等时立即启动恢复过程。
  • gateway.recover_after_nodes:当集群中节点个数等于该值后,开始恢复过程。
  • gateway.recover_after_master_nodes:当集群中Mater-eligible节点个数等于该值后,开始恢复过程。
  • gateway.recover_after_data_nodes:当集群中data节点个数等于该值后,开始恢复过程。
  • gateway.recover_after_time:当集群中有gateway.recover_after_nodes指定个数的节点后,再等待多长时间开始回复。
3. 节点探索(Zen discovery)

在启动Elasticsearch节点时,寻找对其可见的拥有相同集群名称的主节点;如果找到了主节点则加入到已经创建好的集群中;如果没有找到则该节点自己会被选为主节点。这一创建一个集群并寻找节点的过程称为探索。两个目的:

  • 选择一个主节点
  • 发现集群中的新节点

Elasticsearch内置zen探索,提供了多播和单播两种探索方法。

3.1 节点ping设置

ping是在两个节点之间发送的信号,以检查节点是否在运行以及是否能够相应。主要配置如下:

  • discovery.zen.fd.ping_interval:指定了节点之间相互ping的间隔,默认为1s。
  • discovery.zen.fd.ping_timeout:指定了在ping消息发出后等待的时间长度,超过这个时间就认为对方没有响应,默认为30s。
  • discovery.zen.fd.ping_retries:指定了在认为一个节点停止工作之前,需要重试的ping操作次数,默认为3。
3.2 种子节点(Seed nodes)

由集群中的master-eligible节点组成。在启动或者选举了一个新master节点时,尝试与种子节点列表中的每个节点连接,并与他们保持一个类似gossip的回话以便找到其他节点和建立一个集群的完整图。有两种方法配置种子节点:

  • unicast:配置了一个由主机名或IP组成的静态列表作为种子节点。由discovery.zen.ping.unicast.hosts属性配置。

  • file-based:通过外部文件提供种子节点。当种子节点列表发生变化时不需要重启每个elasticsearch节点就可以被重载。由discovery.zen.hosts_provider: file属性配置。该文件应放置在elasticsearch根目录下的config目录中。格式如下:

    # unicast_hosts.txt
    10.10.10.5
    10.10.10.6:9305
    10.10.10.5:10005
    # an IPv6 address
    [2001:0db8:85a3:0000:0000:8a2e:0370:7334]:9301
    
4. 插件(Plugins)

安装插件,默认安装在plugins目录中

bin/elasticsearch-plugin install [plugin_name]

列出已安装插件

bin/elasticsearch-plugin list

移除插件

bin/elasticsearch-plugin remove [pluginname]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值