随着集群规模越来越大,有一些冷索引不需要经常移动分片,因此把冷索引单独存储在冷节点中,把热索引(最新添加的数据)存储在热节点中。

第一步 禁用rebalance

主要是为了防止集群中已有的索引 rebalance 到其他节点

PUT _cluster/settings
{"transient": {"cluster.routing.allocation.cluster_concurrent_rebalance":0}
}

第二步:给节点加标识:node.attr.box_type

关于 node.attr.box_type 属性介绍,可参考:enabling-awareness

修改hot节点的elasticsearch.yml配置文件,添加一行:

node.attr.box_type: hot

修改warm节点的elasticsearch.yml配置文件,添加一行:

node.attr.box_type: warm

第三步:定义通用的索引模板保证新创建索引的分片不会分配到warm节点上

当每月生成一个索引时,新建的索引,肯定是热索引,热索引的分片需要分配到hot节点上,不能分配到warm节点上。比如,loginmac-201908是新建的索引,其分配应该在hot节点上,假设只保留三个月的数据,那么 loginmac-201905就属于历史数据了,需要迁移到warm节点上去。

PUT /_template/hot_template
{"template": "*","order": 0,"version": 0,"settings": {"index": {"routing": {"allocation": {"require": {"box_type": "hot"},"exclude":{"box_type": "warm"}}},"number_of_shards": 3,"number_of_replicas": 1,"refresh_interval": "50s"},"index.unassigned.node_left.delayed_timeout": "3d"}
}

关于index.routing.allocation.require和index.routing.allocation.exclude可参考:shard-allocation-filtering

第四步 把系统上已有索引的配置全部修改成hot配置

PUT _all/_settings
{"index": {"routing": {"allocation": {"require": {"box_type": "hot"}}}}
}

这是为了,保证当warm节点加入集群时,不要让热索引迁移到到warm节点上。

修改完重启es节点。

elasticsearch6.2.3 冷热架构设计相关推荐

  1. 亿级商城促销系统架构设计与实践

    作者:vivo互联网官方商城开发团队-Liu JianZhu 一.前言 随着商城业务渠道不断扩展,促销玩法不断增多,原商城v2.0架构已经无法满足不断增加的活动玩法,需要进行促销系统的独立建设,与商城 ...

  2. 日访问量百亿级的应用如何做缓存架构设计

    作者:陈波,新浪微博技术专家,著有<深入分布式缓存> 来自:公众号-中生代技术 全文:5588字28图 阅读时间:14分钟 微博日活跃用户1.6亿+,每日访问量达百亿级,面对庞大用户群的海 ...

  3. 社交产品后端架构设计--转载

    原文地址:http://www.uml.org.cn/zjjs/2015081311.asp 摘要:本篇文章会向读者展示几个架构设计的关键点,使一个社交应用能够成为真正的下一代社交产品.但这只是设计阶 ...

  4. 电商平台 高并发 微服务 方案_Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战...

    Java生鲜电商平台- 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定的时间内,无论商品是否秒杀完毕,该场次的秒杀活动都会结束.这种 ...

  5. 基于实时深度学习的推荐系统架构设计和技术演进

    简介:整理自 5 月 29 日 阿里云开发者大会,秦江杰和刘童璇的分享,内容包括实时推荐系统的原理以及什么是实时推荐系统.整体系统的架构及如何在阿里云上面实现,以及关于深度学习的细节介绍 本文整理自 ...

  6. 微架构设计:微博计数器的设计

    作者:@cydu 来源: http://qing.weibo.com/1639780001/61bd0ea133002460.html http://qing.weibo.com/1639780001 ...

  7. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  8. 架构设计器_大厂案例:马蜂窝大交通业务监控报警系统架构设计与实现

    部门的业务线越来越多,任何一个线上运行的应用,都可能因为各种各样的原因出现问题:比如业务层面,订单量比上周减少了,流量突然下降了:技术层面的问题,系统出现 ERROR ,接口响应变慢了.拿大交通业务来 ...

  9. 微博技术专家陈波:百亿级访问量的应用如何做缓存架构设计

    中生代技术 链接技术大咖,分享技术干货 全文:5588字28图 阅读时间:14分钟 接力技术,链接价值 ------------------------------------------------ ...

最新文章

  1. 你哪来这么多事(大结局):职工信息删除
  2. spring security自定义指南
  3. 初学者怎样看懂python代码_新手入门必看,最常用的Python代码片段
  4. 适合ipad的python编程软件-如何用iPad运行Python代码?
  5. MySQL编程技巧_PHP与MySQL开发的8个技巧小结
  6. Phonegap 极光推送api 服务器端推送代码
  7. 安装 java decompiler_Eclipse离线安装Java Decompiler插件(反编译)
  8. insert into select 优化_数据库优化总结
  9. mysql添加新用户 开放外网访问
  10. 各纬度气候分布图_印度和中国都是季风气候显著的国家,但冬夏季风的强弱却完全不同...
  11. 论坛用的两个函数:积分计算排名和楼层函数
  12. 右键菜单管理---右键管家
  13. python 重启电脑_如何在系统重启后恢复Python脚本?
  14. (十三)函数指针做函数形参
  15. 机器学习实践指南(五)—— GD/SGD/MSGD 伪代码演示
  16. 1040 最大公约数之和
  17. 统计数据库表中记录数
  18. 如何让您的应用程序进入苹果App Store?(上)
  19. 云网融合个人学习--云网融合典型场景分析【摘抄】
  20. 公网远程Everything快速搜索私有云资料【内网穿透】

热门文章

  1. Dottrace跟踪代码执行时间
  2. SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则
  3. Python从数据库读取大量数据批量写入文件的方法
  4. linux cmake 安装mysql5.5.11,以及更高版本
  5. Go笔试题目Go与PHP分别实现方法
  6. linux 条件变量函数,Linux线程同步之条件变量
  7. B-Tree和B+tree
  8. linux wifi关闭5g,TP-Link路由器如何关闭5G无线Wi-Fi信号?
  9. java数组类型转换_java数据类型转换和数组总结
  10. centos7 网卡配置vlan_Centos7安装后的一些基础配置