您的位置:首页 > Web前端 > Node.js

ELK合集持续更新(八):Elasticsearch关键术语之Node节点

2020-03-28 19:58 861 查看

Elasticsearch关键术语 系列博文 目的只用来了解概念 ; 其中 涉及到的配置和使用 是为了方便日后使用时查询的

Node节点

概念

一台服务器

(一台机器也可运行多个ES进程 但生产环境只运行一个ES实例)

携带数据

每个节点都保存了集群状态Cluster State

本质

一个Java进程

节点名

作用

唯一标识

默认

启动时随机给一个漫威漫画角色名

设置
方式一 ES配置文件

elasticsearch.yml

方式二 命令参数

-E node.name=node1

UID
作用

唯一标识

生命周期

启动后 自动分配一个UID给node节点 保存在data目录下

分类
Master-eligible nodes & Master Node

Master-eligible Node

  • 概念 有资格选主的节点 (每个节点 默认都是)
  • 作用
      参加选主流程 成为Master节点
  • 配置

      禁止选主

      $ vi elasticsearch.yml
      node.master: false
  • 生产配置建议
      至少2个节点作为master-eligible

    Master Node

    • 概念 主节点 只有主节点能修改集群状态信息 (如果任何节点都能修改信息 会导致数据的不一致性)
  • 作用
      处理 创建/删除索引等请求 决定分片被分配到哪个节点 维护更新集群状态 并同步给其他节点
  • 解决脑裂问题
      ES7.0之前 配置ES使不产生脑裂
      $ vi elasticsearch.yml
      discovery.zen.minimum_master_nodes = (master-eligible节点数/2)+1
  • ES7.0及之后
      不存在脑裂问题 (移除了参数discovery.zen.minimum_master_nodes ES自己可以处理好)
    Data Node & Coordinating Node

    Data Node

    • 概念 数据节点 每个节点 默认都是
  • 作用
      存储数据 – 效果 : 数据扩展
  • 配置
      禁止存储数据
      $ vi elasticsearch.yml
      node.data : false

    Coordinating Node

    • 概念 处理请求的节点 (每个节点默认都是)
  • 作用
      接收Client请求 分发到合适的节点 再汇总结果
    Ingest Node
    • 概念 预处理节点 每个节点 默认都是
  • 作用
      对文档进行索引前 做预处理
  • 配置
      禁止预处理
      $ vi elasticsearch.yml
      node.ingest: false
    其他节点类型

    Hot & Warm Node

    • 概念 冷热节点架构
  • 作用
      配置高的主机 是热节点 ; 配置低是冷节点 存储旧数据 – 效果 : 资源最大化利用

    Machine Learning Node

    • 概念 机器学习节点 负责跑机器学习的Job 用做异常检测
  • 配置

      需要enable X-pack

      $ vi elasticsearch.yml
      node.ml : true

    Tribe Node

    • 概念 部落节点(集群互联节点)
  • 作用
      可连接不同的ES集群 当成一个单独的集群处理
  • 版本
      5.3前 Tribe Node
  • 5.3及之后
      Cross Cluster Serarch
    开发环境节点设置建议

    参考
    阮一名资料
    官方文档
    百度

    • 点赞
    • 收藏
    • 分享
    • 文章举报
    hungry和她的朋友们 发布了25 篇原创文章 · 获赞 0 · 访问量 359 私信 关注
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: