生产环境elasticsearch5.0报错IllegalArgumentException: number of documents in the index cannot exceed 2147483519的处理
最近几天的push:user:req数据写不到集群,报错如下:
[--13T09::,][DEBUG][o.e.a.b.TransportShardBulkAction] [yunva_etl_es8] [push:user:req][] failed to execute bulk item (index) index {[push:user:req][/push/user/req][AVyfE_JChh2DyKB0G1Kj], source[{"appId":"","yunvaId":"362b103623aa4f75911b374615c6a682","providerId":"","proviceId":"","mac":"B0:C4:E7:61:E6:E7","imsi":"","imei":"","factory":"samsung","model":"GT-S7568","osType":"android","osVersion":,"networkType":"wifi","ip":"14.152.80.239","sessionId":"","time":"2017-06-13 09:11:39.061.+0800"}]}
java.lang.IllegalArgumentException: number of documents in the index cannot exceed
at org.apache.lucene.index.DocumentsWriterPerThread.reserveOneDoc(DocumentsWriterPerThread.java:) ~[lucene-core-6.2..jar:6.2. 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - -- ::]
at org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:) ~[lucene-core-6.2..jar:6.2. 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - -- ::]
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:) ~[lucene-core-6.2..jar:6.2. 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - -- ::]
at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:) ~[lucene-core-6.2..jar:6.2. 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - -- ::]
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:) ~[lucene-core-6.2..jar:6.2. 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - -- ::]
at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:) ~[elasticsearch-5.0..jar:5.0.]
搜索了下:
是lucene的文档数限制,每个分片最大支持2的31次方个文档数量
https://discuss.elastic.co/t/lucene-max-documents-limit/34761
Lucene max documents limit,Yep, there is a 2^31 limit per shard in Lucene.
查询当前es分片文档:
# curl 10.26.241.237:/_cat/shards?v
index shard prirep state docs store ip node push:user:req p STARTED .7gb 10.30.136.143 yunva_etl_es8
push:user:req r STARTED .7gb 10.25.135.215 yunva_etl_es2
push:user:req p STARTED .7gb 10.45.150.115 yunva_etl_es9
push:user:req r STARTED .7gb 10.30.136.143 yunva_etl_es8
push:user:req r STARTED .9gb 10.30.136.143 yunva_etl_es8
push:user:req p STARTED .9gb 10.174.12.230 yunva_etl_es10
push:user:req p STARTED 884gb 10.174.12.230 yunva_etl_es10
push:user:req r STARTED 884gb 10.27.78.228 yunva_etl_es5
push:user:req r STARTED 883gb 10.45.150.115 yunva_etl_es9
push:user:req p STARTED 883gb 10.174.12.230 yunva_etl_es10
查询出来的2147483519和2的31次方2147483648接近,所以新增加的数据无法插入
临时的解决办法:先把kafka的磁盘加到数据多保留一段时间20天
原来的集群数据抽取到hbase中作为冷数据处理,再把kafka里面的数据导入数据到新的集群中
生产环境elasticsearch5.0报错IllegalArgumentException: number of documents in the index cannot exceed 2147483519的处理的更多相关文章
- 生产环境elasticsearch5.0.1和6.3.2集群的部署配置详解
线上环境elasticsearch5.0.1集群的配置部署 es集群的规划: 硬件: 7台8核.64G内存.2T ssd硬盘加1台8核16G的阿里云服务器 其中一台作为kibana+kafka连接查询 ...
- JDK1.8环境下依然报错 Unsupported major.minor version 52.0
JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...
- centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解
centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解 环境准备: 操作系统:centos ...
- Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver
Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver 报错信息:
- [转]happybase1.0 报错:ThriftPy does not support generating module with path in protocol 'f'
happybase1.0 报错:ThriftPy does not support generating module with path in protocol 'f' 2016-10-12 14: ...
- jmeter Linux环境执行总报错 cannot allocate memory
1.windows环境写好的测试用例,执行没有问题,在Linux环境跑总是报错,提示如下 cannot allocate memory 2.一开始以为是哪块设置有问题,因为脚本里边有设置邮件自动发送, ...
- jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function
jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function 使用.load()绑定事件时报错,Uncaught TypeError: e.i ...
- MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法
MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法 事情的起因 今天课堂上要展示小组项目,需要用一个软件叫W ...
- nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态
nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态,不能正常解析php 系统有其他两个站访问是正常的 看日志没有看到明显的错误 搜索了下: 答案如下: php的 ...
随机推荐
- xml实体注入学习
好久没学习技术了 很多东西都忘了 复习一下 测试代码 <?php $xml = file_get_contents("php://input"); $data = sim ...
- C语言memmove()函数: 复制内存内容(可以重叠的内存块)
头文件:#include <string.h> memmove() 用来复制内存内容,其原型为: void * memmove(void *dest, const void *src, s ...
- 定时调度篇之Quartz.Net详解(被替换)
一. 背景 我们在日常开发中,可能你会遇到这样的需求:"每个月的3号给用户发信息,提醒用户XXX "."每天的0点需要统计前一天的考勤记录"."每个月 ...
- [Windows] [VS] [C] [取得指针所指内存的十六进制形式字符串]
接口定义如下: #include <Windows.h> // 取得指针所指内存的十六进制形式字符串,size指定字节长度 #define Mem_toString(address, si ...
- 简单linux命令1
1. cat 一次显示整个文件: cat filename 从键盘创建一个文件: cat> filename 将文件合并: cat file1 file2 > filename 2. ...
- intptr_t 指针
对于64为系统: typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; # if __WORDSI ...
- eslint 关于CRLF或者LF报错
在拉取项目代码时,如果有eslint代码校验,但是本地打开会有于CRLF或者LF报错报错,那么怎么处理呢? git有个自动转换换行符功能,在文件commit时会自动转换换行符格式: 不想使用,也可以通 ...
- java调试与排错
参考网址:http://www.doc88.com/p-461115156632.html 一.Java程序调试与错误收集 1.Web程序的调试与排错:尽量使用System.out.println() ...
- css3动画transition animation
CSS动画简介 transition animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...
- yum2
首先yum源的主配置文件为/etc/yum.conf文件.这个文件一般不用动,而我们配置具体的各个yum源的配置文件在/etc/yum.repo.d目录下,所有以repo结尾的文件都是yum源配置文件 ...