ElasticSearch备考 -- Index shrink

一、题目

索引task包括5个分片一个副本,对索引执行shrink压缩操作,压缩后索引为1主分片,索引名称为task-new

二、思考

在执行shrink前必须满足三个前置条件

  • The index must be read-only.
  • A copy of every shard in the index must reside on the same node.
  • The index must have a green health status

三、解题

Step 1、初始化索引task

# DELETE task
PUT task
{"settings": {"number_of_replicas": 1,"number_of_shards": 5}
}POST task/_bulk
{"create":{"_id":1}}
{"a":"key","b":"mom","c":"mom","d":1}
{"create":{"_id":2}}
{"a":"key","b":"cake mix","c":"mom","d":2}
{"create":{"_id":3}}
{"a":"key","b":"mom","c":"cake mix","d":3}
{"create":{"_id":4}}
{"a":"cake mix","b":"mom","c":"mom","d":4}

通过head插件我们对初始化的索引观察一下,5个分片,分配在三个节点,并且有一个副本 

Step 2、修改索引准备压缩

  • index.number_of_replicas 设置副本数为0                   
  • index.routing.allocation.require._name 指定索引分片重新路由到节点名称
  • index.blocks.write 设置为只读索引
PUT /task/_settings
{"settings": {"index.number_of_replicas": 0,                                "index.routing.allocation.require._name": "node-1","index.blocks.write":true}
}

通过以上操作可以满足的压缩的三个必要条件,通过head插件可以看到,已经没有了副本,并且5个分片已经重新路由到了node1节点 

Step 3、执行压缩

请求路径上_shrink前后分别为压缩前索引名称和压缩后的新索引名称

通过Setting指定压缩参数

  •     "index.number_of_replicas": 1,
  •     "index.number_of_shards": 1, 
  •     "index.codec": "best_compression" 指定压缩方式
POST /task/_shrink/task_shrink
{"settings": {"index.number_of_replicas": 1,"index.number_of_shards": 1, "index.codec": "best_compression" },"aliases": {"task_new": {}}
}

四、总结

压缩前必须满足三个条件,三个条件必须同时满足

  • 索引必须是只读状态
  • 不能有副本,并将待压缩分片重新分配到一个节点
  • 索引的状态必须是green

参考资料

  • Shrink index API | Elasticsearch Guide [8.15] | Elastic

送一波福利:

福利一

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

福利二

福利三

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

名词(术语)了解--CSSOM (CSS Object Model)

名词(术语)了解–CSSOM (CSS Object Model) CSSOM 概述 CSSOM 是一个与 DOM (Document Object Model) 相对应的、用于 CSS 的 API 集合。 它提供了一种程序化的方式来读取和修改文档的样式信息。 CSSOM 的主要组成部分 样式规则树 document └── …

工控一体机行业前景:智能化、自动化与高效能

工控一体机,作为工业控制系统的重要组成部分,因其智能化、自动化和高效能的特点,正在各个工业领域中发挥着越来越重要的作用。本文将深入探讨工控一体机行业的未来前景,重点分析其智能化、自动化和高效能的发展趋势。 智能化 智…

智能化超声波影像分析,优化医疗决策的开源AI解决方案

思通数科的医疗信息精准抽取系统是一款基于人工智能的开源软件,旨在自动化处理医疗数据,特别是从超声波影像到诊断报告的信息提取。该系统集成了图像识别、自然语言处理和知识图谱等先进技术,能够从医疗影像中提取关键数据,并将这…

Objective-C 音频爬虫:实时接收数据的 didReceiveData_ 方法

在互联网技术领域,数据的获取和处理是至关重要的。尤其是对于音频内容的获取,实时性和效率是衡量一个爬虫性能的重要指标。本文将深入探讨在Objective-C中实现音频爬虫时,如何高效地使用didReceiveData:方法来实时接收数据,并通过…

【解决方案】如何使用pandoc转换中文并作为基础镜像集成到当前服务中

1 缘起 项目需要文档转换功能,选择pandoc工具。 调研如何使用pandoc进行文件转换,并集成到现有python服务中时,遇到如下问题: (1)pandoc无法直接使用xelatex模板准换中文; (2)无法直接在当前python服务容器中使用pandoc环境转换文件。 解决方案如下: (1)添加相应的…

linux下xdg-open打开文件

目录 1 介绍 1 介绍 xdg-open命令是一个在Linux和Unix系统中实现跨桌面环境打开文件的命令行工具。它可以根据文件的类型自动选择合适的应用程序来打开文件。 xdg-open的作用类似于双击文件图标在图形界面中打开文件的操作。它是xdg-utils软件包的一部分,提供了与…

Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

如何在 Elasticsearch Ruby 客户端中使用 ES|QL Helper

作者:来自 Elastic Fernando Briano 了解如何使用 Elasticsearch Ruby 客户端编写 ES|QL 查询并处理其结果。 简介 Elasticsearch Ruby 客户端可用于编写 EQ|QL 查询,使处理从 esql.query 返回的数据更加容易。ES|QL 允许开发人员通过查询过滤、转换和分…

【elkb】ELKB安装token过期

问题 elastic启动时候生成的token 有效期只有30分钟。 30分钟后提示: Couldnt configure Elastic Generate a new enrollment token or configure manually. 相关版本信息 elasticsearch:8.8.1kibana:8.8.1logstash:8.8.1file…

交易所开发:开启数字金融新时代

当今数字化高速发展的时代,交易所作为金融市场的核心枢纽,发挥着至关重要的作用。而随着区块链技术的兴起,数字货币交易所的开发更是为金融领域带来了全新的变革与机遇。 一、数字货币交易所的重要性 数字货币交易所是连接数字货币世界与传统…

企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门

本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统…

网上商城设计小程序ssm+论文源码调试讲解

2相关技术 2.1微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。尤其拥抱微信生态圈,让微信小程序更加的如虎添翼,发展迅猛。 2.2 MYSQL数据…

经典面试题:Hashtable, HashMap, ConcurrentHashMap 之间的区别

一.Hashtable Hashtable 是 Java 早期版本(JDK 1.0)就提供的一个键值对存储的集合类。它实现了Dictionary接口,是一个线程安全的哈希表。它的键和值都不允许为null。 Hashtable是线程安全的,Hashtable通过直接在方法中加 synchr…

3D图片动画效果组件封装

1.效果 3D图片动画效果 2.组件部分 import "./index.less"/*** 3D图片动画效果* pictures: 图片数组[封面,英雄,标题]*/ export const Picture3D (props: any) > {console.log("3D图片动画效果", props)return <divclassNamepicture3DonClick{prop…

大贤3D家谱——让修家谱不再困难

修家谱作为一种文化传统&#xff0c;承载着家族的历史和文化记忆&#xff0c;但近年来确实面临一些困难&#xff0c;导致很多人不愿意修家谱。以下是一些主要原因&#xff1a; 1、信息获取难度&#xff1a; 家谱的修订需要大量的历史资料和族谱记录。许多家庭的老谱由于时间久…

hi3536上ffmpeg带rtmp移植

1.下载ffmpeg-4.1.3版本源码包 用下面的脚本进行configure&#xff1a; ./configure \--target-oslinux \--prefix./libs/ \--enable-cross-compile \--archarm \--ccarm-hisiv500-linux-gcc \--cross-prefixarm-hisiv500-linux- \--nmarm-hisiv500-linux-nm \--enable-share…

Node + HTML搭建自己的ChatGPT [基础版]

文章目录 明明外面的ChatGPT产品那么多了&#xff0c;为什么要在本地搭建自己的ChatGPT呢&#xff1f;整体架构流程1. 获取APIKey1.1 常见的AI模型1.2 为什么选DeepSeek1.3 怎么获取DeepSeek的APIKey1.3.1 注册并登录DeepSeek开放平台1.3.2 选择API keys1.3.3 创建API key1.3.4…

【Linux学习】(8)第一个Linux编程进度条程序|git三板斧

前言 第一个Linux编程——进度条git的简单使用 一、第一个Linux编程——进度条 在写进度条之前我们需要两个基础知识&#xff1a; 回车换行缓冲区 1. 回车换行 首先我们需要知道回车换行它是两个概念&#xff0c;回车是回车&#xff0c;换行是换行换行&#xff1a;光标从上往下…

DEVOPS: 认证与调度

概述 不知道大家有没有意识到一个现实&#xff0c;就是大部分时候&#xff0c;我们已经不像以前一样通过命令行&#xff0c;或者可视窗口来使用一个系统了现在我们上微博、或者网购&#xff0c;操作的其实不是眼前这台设备&#xff0c;而是一个又一个集群 通常&#xff0c;这样…

MUX VLAN 实验配置

MUX VLAN&#xff08;Multiplex VLAN&#xff09;是一种高级的VLAN技术&#xff0c;通过在交换机上实现二层流量隔离和灵活的网络资源控制&#xff0c;提供了一种更为细致的网络管理方式 MUX VLAN通过定义主VLAN&#xff08;Principal VLAN&#xff09;和多个子VLAN&#xff0…