首页 文章 精选 留言 我的

精选列表

搜索[读写分离],共10000篇文章
优秀的个人博客,低调大师

高效管理 Elasticsearch 中基于时间的索引——本质是在利用滚动模式做数据的冷热分离,热索引可以用ssd

高效管理 Elasticsearch 中基于时间的索引 转自:http://stormluke.me/es-managing-time-based-indices-efficiently/ 用 Elasticsearch 来索引诸如日志事件等基于时间的数据的人可能已经习惯了“每日一索引”模式:使用以天为粒度的索引名字来存放当天的日志数据,一天过去后再建一个新索引。新索引的属性可以由索引模板来提前控制。 这种模式很容易理解并且易于实现,但是它粉饰了索引管理的一些复杂的地方: 为了达到较高的写入速度,活跃索引分片需要分布在尽可能多的节点上。 为了提高搜索速度和降低资源消耗,分片数量需要尽可能地少,但是也不能有过大的单个分片进而不便操作 一天一个索引确实易于清理陈旧数据,但是一天到底需要多少个分片呢? 每天的写入压力是一成不变的吗?还是一天分片过多,而下一天分片不够用呢? 在这篇文章中我将介绍新的”滚动模式“和用来实现它的 API 们,这个模式可以更加简单且高效地管理基于时间的索引。 滚动模式 滚动模式工作流程如下: 有一个用于写入的索引别名,其指向活跃索引 另外一个用于读取(搜索)的索引别名,指向不活跃索引 活跃索引具有和热节点数量一样多的分片,可以充分发挥昂贵硬件的索引写入能力 当活跃索引太满或者太老的时候,它就会滚动:新建一个索引并且索引别名自动从老索引切换到新索引 移动老索引到冷节点上并且缩小为一个分片,之后可以强制合并和压缩。 入门 假设我们有一个具有 10 个热节点和一个冷节点池的集群。理想情况下我们的活跃索引(接收所有写入的索引)应该在每个热节点上均匀分布一个分片,以此来尽可能地在多个机器上分散写入压力。 我们让每个主分片都有一个复制分片来允许一个节点失效而不丢失数据。这意味着我们的活跃索引应该有 5 个主分片,加起来一共 10 个分片(每个节点一个)。我们也可以用 10 个主分片(包含冗余一共 20 个分片),这样每个节点两个分片。 首先,为活跃索引创建一个索引模版: PUT _template/active-logs { "template":"active-logs-*", "settings": { "number_of_shards":5, "number_of_replicas":1, "routing.allocation.include.box_type":"hot", "routing.allocation.total_shards_per_node":2 }, "aliases": { "active-logs": {}, "search-logs": {} } } 由这个模板创建的索引会被分配到标记为box_type:hot的节点上,而total_shards_per_node配置会保证将分片均匀分布在热节点中。我把其设置为2而不是1,这样当一个节点失效时也可以继续分配分片。 我们将会用active-logs别名来写入当前的活跃索引,用search-logs别名来查询所有的日志索引。 下面是非活跃索引的模板: PUT _template/inactive-logs { "template":"inactive-logs-*", "settings": { "number_of_shards":1, "number_of_replicas":0, "routing.allocation.include.box_type":"cold", "codec":"best_compression" } } 归档的索引应该被分配到冷节点上并且使用deflate压缩来节约磁盘空间。我会在之后解释为什么把replicas设置为0。 现在可以创建第一个活跃索引了: PUT active-logs-1 Rollover API 会将名字中的-1识别为一个计数器。 索引日志事件 。。。 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/8136679.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册