首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Elasticsearch ILM Shrink Action源码优化与探讨

60分片shrink到5或者10分片,从而从整体上降低集群整体的分片数量,避免集群不稳定现象的发生。...在上述优化方案实施了一段时间后,客户反馈偶尔地收到集群Red的告警,经过排查,发现是Shrink出来的新索引会偶现red,也会出现部分节点负载比较高的情况,最严重的是一部分索引的Shrink任务会卡住,...优化Shrink Action 带着碰到的问题去研究源码,也理清了Shrink任务的所有执行步骤,步骤比较多,实现也比较复杂: [280fed85b1a0619fe59e9aa1cdcc7d5d.png...] 之后总结并归纳了Shrink任务的核心步骤,也是最容易出问题的三个步骤: Step 1....优化Exec Shrink步骤 接下来是优化第三个步骤,执行Shrink, 原生内核里,对于要shrink到多少个分片,数量是固定的,比如60个分片,只能选择shrink到10或者20个分片: [1b1c58a04b2a74981efda07818897126

953152

flex-grow、flex-shrink、flex-basis详解

flex-grow、flex-shrink、flex-basis这三个属性的作用是:在flex布局中,父元素在不同宽度下,子元素是如何分配父元素的空间的。 其中,这三个属性都是在子元素上设置的。...自身宽度(100px)+ A获得的剩余空间的宽度(100px * (1/(1+2))),最终B的大小为 自身宽度(200px)+ B获得的剩余空间的宽度(100px * (2/(1+2))) flex-shrink...flex-shrink的默认值为1,当父元素的宽度小于所有子元素的宽度的和时,子元素的宽度会减小。值越大,减小的越厉害。如果值为0,表示不减小。...如果A,B都不减小宽度,即都设置flex-shrink为0,则会有100px的宽度超出父元素。 如果A不减小宽度:设置flex-shrink为0,B减小。...的大小为 自身宽度(300px)- B减小的宽度(100px * (300px * 2/(200 * 3 + 300 * 2))) = 250px 详细说明见深入理解 flex-grow & flex-shrink

1.5K40

如何用shrink与rolloverAPI管理您的ES索引?

从 5.0 版本开始,Elasticsearch 新提供了 shrink 接口,可以成倍数的合并分片数。...Shrink Index Shrink API允许你将一个现有的索引缩减为一个具有较少主分片的新索引。目标索引中要求的主分片数量必须是源索引中分片数量的一个因素。...Shrink工作的原理主要如下: 它创建一个新的目标索引,其定义与源索引相同,但是主分片的数量较少。 它把源索引中的分片硬链接到目标索引中。...说了原理大家也要知道shrink需要注意的事项具体可以参考官当如下: image.png 以下三点需要特别注意: 分片必须只读; 所有shrink的索引都必须在同一个节点; 集群必须是green; 下面我们进行实际的操作...参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.1/indices-shrink-index.html#indices-shrink-index

1K20

《Elasticsearch 源码解析与优化实战》第17章:Shrink原理分析

因此,可以使用Shrink API缩小索引分片数。当索引缩小完成后,源索引可以删除。 Shrink API是ES 5.0之后提供的新功能,其可以缩小主分片数量。...缩小索引 待分片迁移完毕,我们就可以执行执行Shrink操作了: curl - -XPOST ' localhost: 9200/my_source_index/_shrink/my_target_index...Shrink的工作原理 引用官方手册对Shrink工作过程的描述: 以相同配置创建目标索引,但是降低主分片数量 从源索引的Lucene分段创建硬链接到目的索引。...不过,既然都是链接,Shrink 完成后,修改源索引,目的索引会变吗?答案是不会。...虽然链接到了源分段,Shrink期间索引只读,目标索引能看到的只有源索引的当前数据,Shrink 完成后,由于Lucene中分段的不变性,“write once”机制保证每个文件都不会被更新。

92011

使用索引拆分(Split)和索引收缩(shrink )对Elasticsearch进行优化

很多时候,冷索引不会再有数据写入,此时,可以使用 shrink API 缩小索引分配数。缩小完成后,源索引可删除。...shrink API 是 ES5.0之后提供的新功能,他并不对源索引进行操作,他使用与源索引相同的配置创建一个新索引,仅仅降低分片数。...索引的状态必须为green 为了使分片分配更容易,可以先删除索引的复制分片,等完成了shrink操作以后再重新添加复制分片。...当完成以上步骤以后就可以进行shrink操作了,以下为_shrink API的格式: POST //_shrink/ PUT //_shrink...API,但是更建议的应该是做好更好的索引创建前的评估工作,因为使用Split和Shrink都有一定的成本。

1.1K20

深入理解Flex布局 -- flex-grow & flex-shrink & flex-basis

但遇到中间部分内容很长的时候,UI 就变形了: 为了固定住左右部分的宽度,需要给 left 和 right 加上flex-shrink: 0。...它其实是一个缩写,等价于flex: 1 1 0,也就是 flex-grow : 1; flex-shrink : 1; flex-basis : 0; flex-grow 表示当有剩余空间的时候,分配给项目的比例...flex-shrink 表示空间不足的时候,项目缩小的比例 flex-basis 表示分配空间之前,项目占据主轴的空间 下面来讲讲 flex 空间分配的步骤。...这时我们对左中右分别设置flex-shrink为 1,2,3,计算逻辑如下: 溢出空间 = 100 + 200 + 300 - 550 = 50 总权重 = 1 x 100 + 2 x 200 + 3...还是用上面的例子,当左中右的flex-shrink都为 0 的时候,就会冲破宽度限制,container的宽度将会从 550 变为 600。

1.6K20
领券