基本概念:节点、集群、分片和副本
节点
- 节点是一个Elasticsearch的实例
- 本质上就是一个jAVA进程
- 一台机器上可以运行多个Elasticsearch进程,但是生产环境一般建议一台机器只运行一个
- 每一个节点都有名字,通过配置文件配置,或者启动的时候添加环境变量:node.name=node1指定
- 每一个节点在启动之后,会分配一个UID,保存在data目录下
Master-eligible nodes和Master Node
- 每个节点启动后,默认就是一个Master-eligible nodes
- 可以设置node.master:false 来禁止
- Master-eligible nodes可以参加选主流程,成为Master节点
- 当第一个节点启动的时候,它会将自己选举成Master节点
- 每个节点上都保存了集群的状态,只有Master节点才能修改集群的状态信息
- 集群状态,维护了一个集群中的必要信息
- 所有的节点信息
- 所有的索引和相关的Mapping和Setting信息
- 分片的路由信息
- 任意节点都能修改信息会导致数据不一致
- 集群状态,维护了一个集群中的必要信息
Data Node & Coordinating Node
- Data Node
- 可以保存数据的节点,叫做Data Node。负责保存分片数据。在数据扩展起到了至关重要的作用
- Coordinating Node
- 负责接受Client的请求,将请求分发到合适的节点,最终把结果汇聚到一起
- 每个节点默认都起到了Coordinating Node的指责
配置节点类型
节点类型 | 配置参数 | 默认值 |
---|