索引块限制了特定索引上可用的操作类型。这些块有不同的样式,可以阻止写,读或元数据操作。可以使用动态索引设置来设置/删除这些块,或者可以使用专用的 API 来添加这些块,这还可以确保写入块,一旦成功返回给用户,则索引的所有分片都可以正确地拥有该块,例如添加写块后,所有对索引的动态写入已完成。

Index block settings

以下动态索引设置决定索引上存在的块:

index.blocks.read_only: 设置为 true 以使索引和索引元数据为只读,设置为 false 以允许写入和元数据更改

index.blocks.read_only_allow_delete:
index.blocks.read_only 类似,但也允许删除索引以使释放资源。基于磁盘的分片分配器可以自动添加和删除此块

从索引删除文档以释放资源-而不是删除索引本身-会随着时间的推移增加索引的大小。当 index.blocks.read_only_allow_delete 设置为 true 时,不允许删除文档。但是,删除索引本身会释放只读索引块,并使资源几乎立即可用

IMPORTANT: 当磁盘利用率降至高水位线以下时,Elasticsearch 自动添加和删除只读索引块,该值由 cluster.routing.allocation.disk.watermark.flood_stage 控制

index.blocks.read: 设置为 true 以禁用对索引的读取操作

index.blocks.write: 设置为 true 以禁用对索引的数据写操作。与 read_only 不同,此设置不会影响元数据。例如,您可以使用 write 块关闭索引,但不能使用 read_only 块关闭索引

index.blocks.metadata: 设置为 true 以禁用索引元数据读取和写入

Add index block API

将索引块添加到索引。

PUT /my-index-000001/_block/write

Request

PUT /<index>/_block/<block>

Path parameters

<index>

(可选,字符串)索引名称的逗号分隔列表或通配符表达式,用于限制请求。

要将块添加到所有索引,请使用 _all* 。要禁止使用 _all 或通配符表达式向索引添加块,请将 action.destructive_requires_name 群集设置更改为 true 。您可以在 elasticsearch.yml 文件中或使用 cluster update settings API 更新此设置。

<block>

(必需,字符串)要添加到索引的块类型。<block> 的有效值:

  • metadata :禁用元数据更改,例如关闭索引
  • read :禁用读取操作
  • read_only :禁用写操作和元数据更改
  • write :禁用写操作。但是仍然允许元数据更改。

Query parameters

allow_no_indices

(可选,布尔值)如果为 false ,则如果任何通配符表达式,索引别名或 _all 值仅针对缺失或关闭的索引为目标,则请求将返回错误。即使该请求针对其他打开的索引,此行为也适用。例如,如果索引以 foo 开头但没有索引以 bar 开头,则针对 foo* ,bar* 的请求将返回错误。默认为 true

expand_wildcards

(可选,字符串)控制通配符表达式可以扩展到的索引类型。多个值在用逗号分隔时(如 open,hidden )被接受。默认为 open。有效值为:

  • all :扩大到打开的和关闭的索引,包括隐藏索引。
  • open :仅扩展到打开的索引。
  • closed :仅扩展到关闭的索引。
  • hidden :通配符的扩展将包括隐藏索引。必须与 openclosed 或两者结合使用。
  • none :不接受通配符表达式。

ignore_unavailable

(可选,布尔值)如果为 true ,则响应中不包括丢失或闭合的索引。默认为 false

master_timeout

(可选,时间单位)指定等待连接到主节点的时间。如果在超时到期之前未收到任何响应,则请求将失败并返回错误。默认为 30s

timeout

(可选,时间单位)指定等待响应的时间。如果在超时到期之前未收到任何响应,则请求将失败并返回错误。默认为 30s

Examples

以下示例显示如何添加索引块:

PUT /my-index-000001/_block/write

API返回以下响应:

{"acknowledged" : true,"shards_acknowledged" : true,"indices" : [ {"name" : "my-index-000001","blocked" : true} ]
}

详情见官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-blocks.html

Elasticsearch 7.10 之 Index blocks相关推荐

  1. Elasticsearch - cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)]

    文章目录 Error 修复 扩展 Error {"error": "{\"type\":\"cluster_block_exception\ ...

  2. Linux配置安装 Elasticsearch 7.10.2 详细教程

    文章目录 引言 一.ES 安装 二.head 插件安装 三.Kibana 安装 四.IK分词器 安装 引言 由于后续都基于 Elasticsearch 7.10.2 版本进行操作,所以此处相关安装版本 ...

  3. Elasticsearch最佳实践之Index与Shard设计

      Index与Shard,这两个概念在<Elasticsearch最佳实践之核心概念与原理>一文有详细的介绍,分别对应了Elasticsearch的两种数据组织方式:逻辑组织和物理组织. ...

  4. 生产集群设置Elasticsearch 7.10

    文章目录 生产集群设置Elasticsearch 7.10 索引管理设置 索引恢复设置 节点查询缓存设置 查询缓存索引设置 搜索设置 缓存失效 启用和禁用缓存 启用和禁用每个请求的缓存 缓存设置 监视 ...

  5. ES elasticsearch 7.10安装部署

    下载安装 最新版本地址 #进入安装目录 cd /opt#下载安装包,300多M wget https://artifacts.elastic.co/downloads/elasticsearch/el ...

  6. Elasticsearch 7.10 之 Data tiers

    数据层是具有相同数据角色的节点的集合,这些节点通常共享相同的硬件配置文件: 内容层节点:处理诸如产品目录之类的内容的索引和查询负载. 热层节点:处理诸如日志或指标之类的时间序列数据的索引负载,并保存您 ...

  7. 【Elasticsearch】10分钟查询一个petabyte的云存储容量

    1.概述 翻译:Querying a petabyte of cloud storage in 10 minutes Elastic的新冻结数据层将计算与存储解耦,并利用低成本的对象存储(如谷歌Clo ...

  8. elasticsearch的javaAPI之index

    Index API 原文:http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/index_.html ...

  9. Elasticsearch 7.10 之 Indexing pressure

    将文档索引到 Elasticsearch 中会以内存和 CPU 负载的形式引入系统负载.每个索引操作都包括协调,主要和复制阶段.这些阶段可以跨集群中的多个节点执行. 索引压力可以通过外部操作(例如索引 ...

最新文章

  1. netsh命令修改ip
  2. 云计算将成为媒体融合发展与数字化变革的加速剂
  3. 没有统计学基础可以学python-统计学专业应该学Java还是Python?
  4. node.js搭建简单服务器,用于前端测试websocket链接方法和性能测试
  5. 统一建模语言UML要点全面简析
  6. APL开发日志--2012-11-18
  7. linux nfs 修复文件,linux nfs Read-only file system
  8. 使用JSF的面向服务的UI
  9. python3 Crypto环境
  10. python 类特殊方法_Python 定制类的特殊方法与授权
  11. python如何下载pandas、时间延长_大pandas,python – 如何在时间表中选择具体时间
  12. 20190901 On Java8 第十五章 异常
  13. mes系统和plc通讯案例_「MES系统 | 应用案例」奥松电子云MES系统项目启动大会顺利召开...
  14. XCode5 文档下载地址
  15. 小学英语计算机融合,小学英语作业盒电脑版
  16. 三乘三魔方教程,按步骤来肯定能搞出来
  17. 如何在微信窗口使用计算机,站长教你电脑如何打开多个微信界面
  18. zsh补全中compinit full initialization问题
  19. 如何给自制的微信小程序设置一个密码
  20. Hackthebox Three

热门文章

  1. 锂离子电池电池容量特性_锂离子电池为什么会爆炸?
  2. php调用ua_精准快速的UA识别PHP代码
  3. jeesite html导入excel,JeeSite中Excel导入导出
  4. 基于MFC的餐饮管理系统(C++实现 后附源码)
  5. 支教志愿者和支教旅行者·《乖摸摸头》·一
  6. 斑能不能彻底去掉_(整理)黄褐斑能彻底去除吗?答案是:不能
  7. 不知道怎么向女神表白?Python三大神技分分钟带你成功逆袭!
  8. python_21_线程+进程+协程
  9. java基础之java语言基础
  10. Let's Encrypt 安装配置教程