前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES日志报错赏析-index cannot exceed 2147483519

ES日志报错赏析-index cannot exceed 2147483519

原创
作者头像
ES小助理
修改2023-07-19 16:00:49
2.1K0
修改2023-07-19 16:00:49
举报
文章被收录于专栏:ES排障

报错现象

代码语言:javascript
复制
number of documents in the index cannot exceed  2147483519

报错解析

ES单个分片最大的文档数是21个亿。如果写入的doc总量超过这个值,就会写入拒绝!!

为防止因分片满导致写入拒绝,一定要提前做好监控告警,分片文档数大于19亿及时告警。平时控制分片大小在30-50G健康水位,防止单个分片过大。防止倾斜数据产生。

解决方案

方案1:

新建新索引写入,并且规划好分片大小。

方案2:

reindex索引,新索引做好分片规划

首先关闭索引自动创建,防止旧索引删除后,自动创建同名索引。

代码语言:javascript
复制
PUT _cluster/settings
{
  "persistent": {
    "action.auto_create_index": false
  }
}

其次:先去掉副本,索引设置只读,禁写。

代码语言:javascript
复制
PUT indexname/_settings
{
  "blocks.write": true
}

第三步,创建目标索引,包括settings\mappings(此处省略创建步骤)

执行拷贝

代码语言:javascript
复制
POST _reindex?wait_for_completion=false&slices=auto&refresh
{
  "source": {
    "index": "indexname"
  },
  "dest": {
    "index": "indexname_new"
  }
}

第四步:查看进度 自定义拷贝

代码语言:javascript
复制
获取reindex任务列表
GET _tasks?detailed=true&actions=*reindex

根据任务ID查看任务
GET /_tasks/r1A2WoRbTwKZ516z6NEs5A:36619

若想取消任务
POST _tasks/r1A2WoRbTwKZ516z6NEs5A:36619/_cancel

第五步:删除旧索引delete source index

第六步:添加别名

代码语言:javascript
复制
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "indexname_new",
        "alias": "indexname"  //这里可以用老索引名字,就不需要业务侧修改写入索引名了
      }
    }
  ]
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 报错现象
  • 报错解析
  • 解决方案
    • 方案1:
      • 方案2:
        • 首先关闭索引自动创建,防止旧索引删除后,自动创建同名索引。
          • 其次:先去掉副本,索引设置只读,禁写。
            • 第三步,创建目标索引,包括settings\mappings(此处省略创建步骤)
              • 第四步:查看进度 自定义拷贝
                • 第五步:删除旧索引delete source index
                  • 第六步:添加别名
                  相关产品与服务
                  Elasticsearch Service
                  腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档