ElasticSearch(五)集群架构

这篇具有很好参考价值的文章主要介绍了ElasticSearch(五)集群架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、ES集群架构

        特性:高可用 可扩展

        优势:提高系统可用性,部分节点停止服务整个集群不受影响

                   存储可水平扩展

ElasticSearch(五)集群架构,elasticsearch,架构,java,搜索引擎

概念

集群
        一个集群可以有一个或者多个节点
        不同的集群通过不同的名字来区分,默认名字“elasticsearch“
        通过配置文件修改,或者在命令行中 -E cluster.name=es-cluster进行设定

二、节点


        节点是一个Elasticsearch的实例
        本质上就是一个JAVA进程
        一台机器上可以运行多个Elasticsearch进程,但是生产环境一
        般建议一台机器上只运
        行一个Elasticsearch实例
        每一个节点都有名字,通过配置文件配置,或者启动时候 -E node.name=node1指定
        每一个节点在启动之后,会分配一个UID,保存在data目录下


1 节点类型


        Master Node:主节点
        Master eligible nodes:可以参与选举的合格节点
        Data Node:数据节点
        Coordinating Node:协调节点(客户端的请求落在协调节点上,转发给相应节点)
        其他节点

ElasticSearch(五)集群架构,elasticsearch,架构,java,搜索引擎

2 Master eligible nodes和Master Node(可以选举成为master节点,相当于主节点的从节点)
        每个节点启动后,默认就是一个Master eligible节点,可以设置 node.master: false禁止;
        Master-eligible节点可以参加选主流程,成为Master节点;
        当第一个节点启动时候,它会将自己选举成Master节点;
        每个节点上都保存了集群的状态,只有Master节点才能修改集群的状态信息;
        集群状态(Cluster State) ,维护了一个集群中,必要的信息所有的节点信息
        所有的索引和其相关的Mapping与Setting信息,分片的路由信息;
3 Master Node的职责
        处理创建,删除索引等请求,负责索引的创建与删除
        决定分片被分配到哪个节点
        维护并且更新Cluster State
4 Master Node的最佳实践
        Master节点非常重要,在部署上需要考虑解决单点的问题
        为一个集群设置多个Master节点,每个节点只承担Master 的单一角色

5 选主的过程
        互相Ping对方,Node ld 低的会成为被选举的节点,其他节点会加入集群,但是不承担                     Master节点的角色。一旦发现被选中的主节点丢失,就会选举出新的Master节点

6 Data Node & Coordinating Node
Data Node

        可以保存数据的节点,叫做Data Node,负责保存分片数据。在数据扩展上起到了至关重要的作用;
节点启动后,默认就是数据节点。可以设置node.data: false
禁止由Master Node决定如何把分片分发到数据节点上
通过增加数据节点可以解决数据水平扩展和解决数据单点问题


Coordinating Node
负责接受Client的请求, 将请求分发到合适的节点,最终把结果汇集到一起
每个节点默认都起到了Coordinating Node的职责


其他节点类型
Hot & Warm Node

不同硬件配置 的Data Node,用来实现Hot & Warm架构,降
低集群部署的成本
Ingest Node
数据前置处理转换节点,支持pipeline管道设置,可以使用
ingest对数据进行过滤、转换等操作
Machine Learning Node
负责跑机器学习的Job,用来做异常检测
Tribe Node
Tribe Node连接到不同的Elasticsearch集群,并且支持将这
些集群当成一个单独的集群处理
ElasticSearch(五)集群架构,elasticsearch,架构,java,搜索引擎

读写分离架构

ElasticSearch(五)集群架构,elasticsearch,架构,java,搜索引擎

三、分片

主分片:用于解决数据水平扩展的问题,通过分片将数据分配到不同的节点上,一个分片是一个运行的lucene实例,主分片数在索引创建时指定,后续不允许修改;

副本分片:用于解决数据高可用问题,副本分片是主分片的copy。副本分片数可调整,增加副本数可以提高服务的可用性(读取可以从副本和主分片读取,提高读取的吞吐量)

分片的设定
对于生产环境中分片的设定,需要提前做好容量规划

分片数设置过小导致后续无法增加节点实现水平扩展
单个分片的数据量太大,导致数据重新分配耗时


分片数设置过大,7.0 开始,默认主分片设置成1,解决了over-sharding(分片过度)的问题
影响搜索结果的相关性打分,影响统计结果的准确性
单个节点上过多的分片,会导致资源浪费,同时也会影响性能

主分片的数量不允许更改,由于分片路由的时候是取的hash取模的结果;


生产环境集群配置建议
单一职责:master eligible nodes:负责集群的状态管理
                  使用低配置cpu Ram和磁盘


                  date nodes:负责数据存储及处理客户请求
                  使用高配置cpu Ram和磁盘

                  ingest nodes:负责处理数据
                  使用高配置cpu Ram和低配置磁盘

                  coordinating nodes:请求抓饭数据处理
                  使用低高cpu Ram和低配置磁盘

节点扩展方案

当磁盘容量无法满足需求时,可以增加数据节点;
磁盘读写压力大时,增加数据节点
当系统中有大量的复杂查询及聚合时候,增加Coordinating节点,增加查询的性能

es分片路由的规则
shard_num = hash(_routing) % num_primary_shards
_routing字段的取值,默认是_id字段,可以自定义。

大数据量索引可根据不同情况对索引进行拆分进行优化查询;文章来源地址https://www.toymoban.com/news/detail-797843.html

到了这里,关于ElasticSearch(五)集群架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch(ES)分布式搜索引擎04——(数据聚合,自动补全,数据同步,ES集群)

    **聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近

    2024年02月08日
    浏览(51)
  • 微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群 Sentinel

    聚合(aggregations)可以让我们极其 方便的实现对数据的统计、分析、运算 。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些 统计功能的比数据库的sql要方便的多,而且查询速度非常快 ,可以实现近

    2024年02月11日
    浏览(52)
  • Java的Elasticsearch与搜索引擎

    Elasticsearch是一个基于分布式的实时搜索和分析引擎,它是一个开源的搜索引擎,可以用来构建实时、可扩展的搜索应用程序。Elasticsearch是一个基于Lucene的搜索引擎,它提供了一个分布式、可扩展的搜索引擎,可以处理大量数据并提供实时搜索功能。 Java是Elasticsearch的主要编

    2024年02月20日
    浏览(44)
  • 微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群 微服务保护 Sentinel

    聚合(aggregations)可以让我们极其 方便的实现对数据的统计、分析、运算 。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些 统计功能的比数据库的sql要方便的多,而且查询速度非常快 ,可以实现近

    2024年02月15日
    浏览(56)
  • Java远程连接本地开源分布式搜索引擎ElasticSearch

    简单几步,结合Cpolar内网穿透工具实现Java远程连接操作本地Elasticsearch。 什么是elasticsearch?一个开源的分布式搜索引擎,具备非常多强大功能,可以用来实现搜索、日志统计、分析、系统监控等功能,可以帮助我们从海量数据中快速找到需要的内容。 Cpolar内网穿透提供了更高

    2024年02月05日
    浏览(50)
  • 四、初探[ElasticSearch]集群架构原理与搜索技术

    在Elasticsearch主要分成两类节点,一类是Master,一类是DataNode。 1.1 Master节点 在Elasticsearch启动时,会选举出来一个Master节点。采用 Zen Discovery 1 机制选出master节点并且找到集群中的其他节点,并建立连接。一个Elasticsearch集群中,只有一个Master节点。(这里的一个是在集群范围中

    2024年02月09日
    浏览(51)
  • 如何使用内网穿透工具实现Java远程连接本地Elasticsearch搜索分析引擎

    简单几步,结合Cpolar 内网穿透工具实现Java 远程连接操作本地分布式搜索和数据分析引擎Elasticsearch。 Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们能够放心地处理和

    2024年02月04日
    浏览(53)
  • 如何通过内网穿透实现Java远程连接操作本地Elasticsearch开源搜索和分析引擎

    本文主要介绍在无公网ip环境,如何使用cpolar内网穿透工具实现Java远程连接操作本地Elasticsearch开源搜索和分析引擎。 Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以确保数据传输的安全性,这为用户和团队提供了更可靠的保护,使他们

    2024年01月23日
    浏览(56)
  • ES搜索引擎入门+最佳实践(九):项目实战(二)--elasticsearch java api 进行数据增删改查

            本篇是这个系列的最后一篇了,在这之前可以先看看前面的内容: ES搜索引擎入门+最佳实践(一)_flame.liu的博客-CSDN博客 ES搜索引擎入门+最佳实践(二)_flame.liu的博客-CSDN博客 ES搜索引擎入门+最佳实践(三)_flame.liu的博客-CSDN博客 ES搜索引擎入门+最佳实践(四)_flame.liu的博客

    2024年02月12日
    浏览(59)
  • Java SpringBoot API 实现ES(Elasticsearch)搜索引擎的一系列操作(超详细)(模拟数据库操作)

    小编使用的是elasticsearch-7.3.2 基础说明: 启动:进入elasticsearch-7.3.2/bin目录,双击elasticsearch.bat进行启动,当出现一下界面说明,启动成功。也可以访问http://localhost:9200/ 启动ES管理:进入elasticsearch-head-master文件夹,然后进入cmd命令界面,输入npm run start 即可启动。访问http

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包