1.elasticsearch 各节点作用
节点类型 | 解释 | 作用 | 注意事项 |
---|---|---|---|
master node | 主节点 | 负责轻量级群集范围的操作例如: 1.创建或删除索引 2.跟踪集群节点 3.分片分配 | discovery.zen.minimum_master_nodes: 1(防止脑裂设置)意思是最少需要多少node.master: true 的节点集群才能工作. 建议(master_eligible_nodes / 2) + 1比如能node.master: true节点有6个 (6/2)+1=4,那么如果健康节点少于4集群将不能工作 |
data node | 数据节点 | 数据节点负载存储索引分配,并负载处理数据 1增删改查 2搜索 3聚合 属于I/O、内存和CPU密集型操作,可以扩展数据节点数量来缓解资源负载 | 建议使用SSD硬盘缓解I/O压力 |
Ingest node | 提取节点 | 执行预处理管道,不负责数据和集群相关的事物它在索引之前预处理文档,拦截文档的bulk和index请求,然后加以转换将文档传回给bulk和index API,用户可以定义一个管道,指定一系列的预处理器 ,类似filter | 节点负载将会很高,建议使用专用节点作为Ingest node |
2.master选举
1)对所有可以成为master的节点根据nodeId排序,每次选举每个节点都把自己所知道节点排一次序,然后选出第一个(第0位)节点,暂且认为它是master节点。
2)如果对某个节点的投票数达到一定的值(可以成为master节点数n/2+1)并且该节点自己也选举自己,那这个节点就是master。否则重新选举。
3)对于brain split问题,需要把候选master节点最小值设置为可以成为master节点数n/2+1