让Elasticsearch集群冷热分享、读写分离

如何设计ES的冷热数据分离架构?Elasticsearch 集群如何实现高可用?如何避免脑裂问题?如果出现脑裂如何恢复? 本文介绍了Elasticsearch的冷热架构设计与高可用方案。冷热架构通过SSD节点组存储近7天热数据,HDD节点组存储历史数据,配合ILM策略实现自动迁移。高可用方案采用多节点组设计,包含主节点组、数据节点组和协调节点组,通过副本策略、分片重平衡和客户端重试机制保障容灾能力。关键配置包括分片分配策略、故障检测和自动恢复机制,确保系统在节点故障时仍能稳定运行。该方案兼顾性能与成本,适用于大规模数据存储场景。 阅读详情

根据Elasticsearch中文社区《ES冷热分离(读写分离) hot, stale 场景》一篇整理的。

一、冷热分离

二、读写分离

  • 即使这样处理后,hot集群即使只有一两数据,但是一般象log类数据,查询的一般都是最近一两天的数据,致使hot集群负载依然很大。es有没有办法实现像mysql主从的效果,然后查询只在从机上查询?有没有办法让副本分布在某些特定节点上,然后查询只查询这些节点?
  • 按《elasticsearch高级配置之分片分布规则设置》中(强制分布规则)来设置,迫使不允许副本被分配到与主分片相同的区域,比如:让副本数据分布到stale集群上。
  • 上面的规则有时并不能完全的控制复本一定在某个集群上,它只能尽量保证主分片和副本不在一个集群上,这个时候同样也可以起个定时任务,手动的将副本reroute到集群节点上

    POST /_cluster/reroute
    {
        "commands" : [ {
            "move" :
                {
                  "index" : "test", "shard" : 0,
                  "from_node" : "node1", "to_node" : "node2"
                }
            },
            {
              "allocate" : {
                  "index" : "test", "shard" : 1, "node" : "node3"
              }
            }
        ]
    }

  • 详细情况参考: 
    https://www.elastic.co/guide/en/elasticsearch/reference/2.1/modules-cluster.html 
    https://www.elastic.co/guide/en/elasticsearch/reference/2.1/cluster-reroute.html

三、查询选项

  • 上面两种方法将冷热,读写数据都分布到了不同的集群上,下面看看如何在指定查询参数,只查询stale集群节点上的数据。

    POST /_search?preference=_only_nodes:zone:stale
    {
        "query": {
            "match": {
                "title": "elasticsearch"
            }
        }
    }

  • 上面这个可以只查询node.zone: stale节点数据。这个查询选项要求ES版本在1.7.0以上。关于查询选项详细资料参考: 

  • https://www.elastic.co/guide/en/elasticsearch/reference/1.7/search-request-preference.html?q=preference

四、总结

  1. 已经不再indexing的索引,通过require.zone的方式迁移到stale集群上,完成冷热分离;
  2. 还在indexing的索引,通过reroute将replica shard强制allocate到stale集群上;
  3. search的时候,通过?preference=_replica或者?preference=_only_nodes:xxx的方式指定读取哪些。
  4. 但是需要注意一点的是:因为es的replica也是一个实际需要cpu和io的indexing过程,而且indexing本身也有要求要写够一定副本数来才算写入完成。所以,你即使只请求replica,也是有可能影响到写入的。

    所以,你只能开启一个副本——写入副本数要求是从二个副本开始才有。

数据冷热分离,Hbase,Elasticsearch,redis,分库分表,缓存,kafka 阅读详情

相关推荐

Elasticsearch 冷热集群架构实战

0、题记 Elasticsearch实战数据量级少的时候,单节点就能玩的很6,但是随着数据量的增长,多节点分布式横向扩展集群是大势所趋。 之前分享过基于时间创建索引及Curator实现索引生命周期管理。 当集群硬件资源有限,尤其SSD磁盘更紧俏的业务场景下,最大化集群的性能,如何让用户最关心的“热”数据分布到SSD磁盘对应的节点上,让用户关注程度弱的“冷”数据分散到普通磁盘对应节点上?...

wenyusuran的专栏 1459

ElasticSearch7.x集群搭建(es7)主从读写分离搭建教程

适用人群 开发从业人员,大数据从业人员,运维从业人员,IT相关从业人员,想快速掌握技能的一切人员课程概述 ElasticSearch7.x集群?Elasticsearch-head7.x官网都没有的插件整合?cerebro插件酷炫暗黑插件神器?一次搞定官网版本 主从读写 中文分词 Head插件 cerebro插件

激光及激光器超全细节&原理总结

本文详细展示了激光、激光器、PN结、半导体激光器、光纤激光器的原理和应用;

guangwulv的博客 5343

ES集群读写分离

根据Elasticsearch中文社区《ES冷热分离(读写分离) hot, stale 场景》一篇整理并测试修改后实现 本项目按照该原理实现读写分离写的数据如果需要实时被读取,实际上不可能实现完全的读写分离的。 分区读写分离方法:假设 集群有8个节点,node1,node2,node3,node4 为热区,设置为hot,node5,node6,node7,node8 为冷区,设置为stable.

joez的专栏 5283

基于 WebGoat 平台的 SQL 注入攻击

基于 WebGoat 平台的 SQL 注入攻击

Labulongdong的博客 3521

第10章:位同步与Gardner环路(1)

第10章(1)内容如下:一、位同步与载波同步的区别1、采样时钟相位偏差的影响2、采样时钟频率偏差的影响二、Gardner环路算法与插值方法1、插值滤波器2、Gardner误差检查算法三、Gardner环路中环路滤波器与数字振荡器设计1、环路滤波器2、数控振荡器(NCO)四、Gardner环路的可运行MATLAB代码五、参考资料六、致谢 最近搞懂了Gardner环路的一些知识,于是更新第10章——位同步。 如果你稍不留意的话,这可能是你在网上能看到的介绍Gardner环路及其MATLAB仿真最详细的一篇文章了

weixin_44283855的博客 1万+

【elasticsearch】elasticsearch es读写原理

今天来学习下 es 的写入原理。

Mrerlou的博客 3999

MCAL中MCU的配置

MCAL配置中MCU配置,PLL计算配置,系统时钟以及各模块参数配置

dhyw12399999的博客 3794

干货 | Elasticsearch 冷热集群架构实战

0、题记 Elasticsearch实战数据量级少的时候,单节点就能玩的很6,但是随着数据量的增长,多节点分布式横向扩展集群是大势所趋。 之前分享过基于时间创建索引及Curator实现索引生命周期管理。 当集群硬件资源有限,尤其SSD磁盘更紧俏的业务场景下,最大化集群的性能,如何让用户最关心的“热”数据分布到SSD磁盘对应的节点上, 让用户关注程度弱的“冷”数据分散到普通磁盘对应节点上?也就是说“...

铭毅天下Elasticsearch 7405

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

805

ETAS工具导入DBC生成Com协议栈

ETAS工具导入DBC主要也是生成arxml用的,ETAS推荐使用Cobra导入,本文介绍导入过程及注意事项不管是导入DBC还是arxml,本质上都是为了生成对应的com协议栈,目的是为了减少重复的工作量,所以,前期定义好收发的矩阵很重要,一般导入一次之后,后面就可以按变更点手动更改了。

赞的博客 1710

Elasticsearch - 冷热分离架构 Elasticsearch 数据分层存储

摘要 Elasticsearch冷热分离架构通过数据分层存储实现高性能与低成本的平衡。热节点(SSD)处理最新高频数据,温节点(SATA SSD)存储近期数据,冷节点(HDD)保存历史数据。利用ILM策略自动迁移数据流,实现从热→温→冷→删除的全生命周期管理。配置示例展示了如何定义ILM策略、索引模板和数据路由规则。这种架构特别适合时间序列数据(如日志、监控指标),既能保证热数据查询性能,又可大幅降低存储成本。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

向华为学习——IPD流程体系之IPD术语

《IPD体系核心概念与业务术语解析》摘要: IPD(集成产品开发)是一种以市场为导向的结构化产品开发管理模式,通过跨部门协作、异步开发、CBB(通用构建模块)和管道管理等手段,实现产品全生命周期高效管理。体系包含七大核心要素:跨部门团队(如IPMT决策层、PDT执行层)、结构化流程(分阶段评审)、端到端项目管理(WBS分级计划)、客户需求分析、投资组合优化及质量管控(TR技术评审)。各业务领域术语涵盖财务(NPV、IRR)、开发(需求分解、基线化)、制造(可制造性设计)、采购(Sourcing团队)及市场(

cdfunlove的博客 481

Elasticsearch - 冷热数据架构设计 基于 Elasticsearch 的分层存储实践

本文介绍了Elasticsearch冷热数据架构的设计与实践。首先分析了数据访问的"时间局部性"特点,指出80%以上查询集中在最近数据上。然后详细阐述了Elasticsearch的分层存储方案,包括节点角色标记、ILM生命周期管理和分片分配机制。重点讲解了热、温、冷三层节点的硬件配置差异和优化策略,如热节点采用NVMe SSD保证性能,冷节点使用HDD降低成本,并通过冻结索引减少内存占用。文章还对比了冻结索引与搜索归档两种方案的适用场景,为构建高性能、低成本的分层存储体系提供了实用参考。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

天天酷科研的博客 1113

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Elasticsearch 生产环境集群部署最佳实践

在生产环境搭建或维护 Elasticsearch 集群和个人搭建集群的小打小闹有非常大的不同。本文的最佳实践基于每天增量数亿+ 的线上环境。少啰嗦,上干货。1、内存Elasticsearc...

铭毅天下Elasticsearch 9669

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

玩转elasticsearch:elasticsearch集群大汇总

前面几篇分别对es整体做了介绍、同时解释了一些基本概念,以及一些常用插件的安装。本篇就终点讲解下我对es集群的研究。 高可用方案的依据 es的节点角色划分 节点类型 参数配置 主节点 node.master: ture(默认) 数据节点 node.data: ture(默认) 协调节点 node.master: false node.data: false 摄入节点 node.ingest: true(默认) es的数据处理特.

帅哥趣谈 392

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PB级规模数据的Elasticsearch统一日志存储冷热分离原理和实践

PB级规模数据的Elasticsearch统一日志存储冷热分离原理和实践 一、目标 最近在做公司的全量日志收集和检索,需要统一公司各个业务线常用的应用业务日志,统一存储,统一查看,统一前端UI组件,保障查询,写入性能,降低重复开发成本。这里提供一些实践中的心得。 一、参考文献 1.elastic官方指导手册: link. 2.阿里云pb级日志数据分库分表实践: link. 3.阿里云冷热节点数据迁...

leon 2万+

Elasticsearch 冷热分离

       为了不浪费服务器资源(每台机器上均配置有SSD和大存储,且内存配置较高),提高ES读写性能,我们尝试进行了ES集群冷热分离的配置。 测试环境        两台机器,均配置有SSD和SATA盘。每台机器上运行两个ES实例,其中一个实例配置data目录为SSD 解压安装(两台机器) mkdir -p /data/mdware cd /data/mdware tar -zxf...

拉丁解牛技术专栏 1399

ES分布式搜索引擎总结

es

GL1765852966的博客 2791

基于 JuiceFS 的 Elasticsearch 温冷热数据管理实践

Elasticsearch(下文简称 “ES”)是一个分布式的搜索引擎,还可作为分布式数据库来使用,常用于日志处理、分析和搜索等场景;在运维排障层面,ES 组成的 ELK(Elasticsearch+ Logstash+ Kibana)解决方案,简单易用、响应速度快,并且提供了丰富的报表;高可用方面, ES 提供了分布式和横向扩展;数据层面,支持分片和多副本。ES 的使用便捷,生态完整,在企业之中得到了广泛的应用。 随之而来的是物理资源和费用的增加,如何降低 ES 场景的成本成为了大家普遍关心的话题。ES

u012181546的博客 695
上一篇: elasticsearch高级配置之分片分布规则设置
下一篇: Spark性能优化:资源调优篇
mllhxn
博客等级 码龄14年 116粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值