ElasticSearch踩坑记录
一、分词错误
[2018-02-06 14:28:30:098] --- [INFO] --- [CjhArticleSimilarityTask.java:66] --- [【SimilarityConsumeTask】=报错结束,时间:2018-02-06 14:28:30,errorMsg:Failed to deserialize response of type [org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse]] ---
[2018-02-06 14:28:30:099] --- [ERROR] --- [LogUtils.java:59] --- [【SimilarityConsumeTask】=报错结束,时间:2018-02-06 14:28:30] ---
TransportSerializationException[Failed to deserialize response of type [org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse]]; nested: IllegalStateException[unexpected byte [0x43]];
at org.elasticsearch.transport.TcpTransport.handleResponse(TcpTransport.java:1425)
at org.elasticsearch.transport.TcpTransport.messageReceived(TcpTransport.java:1397)
at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:74)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:544)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: unexpected byte [0x43]
at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:409)
at org.elasticsearch.common.io.stream.StreamInput.readBoolean(StreamInput.java:399)
at org.elasticsearch.common.io.stream.StreamInput.readOptionalString(StreamInput.java:315)
at org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse$AnalyzeToken.readFrom(AnalyzeResponse.java:128)
at org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse$AnalyzeToken.readAnalyzeToken(AnalyzeResponse.java:110)
at org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse.readFrom(AnalyzeResponse.java:201)
at org.elasticsearch.transport.TcpTransport.handleResponse(TcpTransport.java:1422)
... 27 more
解决:
生产环境ElasticSearch版本5.2.2,
期初es使用mvn版本 5.6.3,降低maven版本为5.2.2后搞定
二、es 5.2.2写入es报错:
Limit of total fields [1000] in index [my_index] has been exceeded
调整如下设置可以暂时解决:
PUT my_index/_settings { "index.mapping.total_fields.limit": 2000 }
报错的原因是json串写入es时解析字段类型错误,扩大了mapping,经测试逐个字段赋值是可以的,但是不方便。
同样的程序在es6.0下是不会出现该错误的。
三、es 5.2批量写入es报错:
[RemoteTransportException[[node_***][****:9300][indices:data/write/bulk[s]]]; nested: RemoteTransportException[[node_***.*][10.**.***.**:9300][indices:data/write/bulk[s][p]]]; nested: EsRejectedExecutionException[rejected execution of org.elasticsearch.transport.TransportService$7@5e2672b5 on EsThreadPoolExecutor[bulk, queue capacity = 50, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@151d7492[Running, pool size = 32, active threads = 32, queued tasks = 54, completed tasks = 814852676]]];] ---
put("es.batch.size.bytes", "300000000");
put("es.batch.size.entries", "500000");
put("es.input.json", "true");
put("es.batch.write.refresh", "false");
put("es.batch.write.retry.count","-1");
put("es.batch.write.retry.wait","300");
提交es频率太高,调整方案增大写入间隔和每次写入条数。
四、es日期字段自动识别为字符串
put test_date/test/1
{
"d1":"2017/11/04",
"d2":"2017-11-03 21:42:11",
"d3":"2017/11/03 21:42:11",
"d4":"2017-08-20T16:00:00.000Z"
}

五、解决报错 availableProcessors is already set to [16], rejecting [16]
@Configuration
public class ElasticSearchConfig {
/**
* 防止netty的bug
* java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
*/
@PostConstruct
void init() {
System.setProperty("es.set.netty.runtime.available.processors", "false");
}
}
ElasticSearch踩坑记录的更多相关文章
- centos 7( linux )下搭建elasticsearch踩坑记
原文:https://blog.csdn.net/an88411980/article/details/83150380 概述 公司最近在做全文检索的项目,发现elasticsearch踩了不少 ...
- unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- google nmt 实验踩坑记录
最近因为要做一个title压缩的任务,所以调研了一些text summary的方法. text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...
- ABP框架踩坑记录
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
随机推荐
- AI时代学习新的技术,方向为计算机视觉--欢迎来我的简书blog拔草
2017-09-01 19:29:33 简书blog: https://www.jianshu.com/u/973c8c406de7
- Linux编译安装python3
1.解决编译环境的,依赖环境,必须保证这里正确安装,方可执行后续步骤yum install gcc patch libffi-devel python-devel zlib-devel bzip2-d ...
- Java 必须掌握的 20+ 种 Spring 常用注解
Spring部分 1.声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @C ...
- mysql_study_5
代码 mysql> CREATE TABLE shop ( ) UNSIGNED ZEROFILL ' NOT NULL, ) DEFAULT '' NOT NULL, ,) DEFAULT ' ...
- 在sparkStreaming实时存储时的问题
1.实时插入mysql时遇到的问题,使用的updateStaeBykey有状态的算子 必须设置checkpoint 如果报错直接删掉checkpoint 在创建的时候自己保存偏移量即可 再次启动时读 ...
- Vue 中如何引入第三方 JS 库
一绝对路径直接引入全局可用 二绝对路径直接引入配置后import 引入后再使用 三webpack中配置 aliasimport 引入后再使用 四webpack 中配置 plugins无需 import ...
- CodeForces - 468A
Little X used to play a card game called "24 Game", but recently he has found it too easy. ...
- self study 权限 permission
demo 测试成功, import 'package:permission/permission.dart'; Future requirePermission()async { await Perm ...
- ps top 命令
pstree :显示进程树 ps: a:查看和终端有关的进程 u:显示进程是哪个用户启动的 x:和终端无关 ps aux |head 进程的分类: 和终端有关 和终端无关 进程状态: D:不可中断睡眠 ...
- 算法(第四版)C# 习题题解——1.3.49 用 6 个栈实现一个 O(1) 队列
因为这个解法有点复杂,因此单独开一贴介绍. 那么这里就使用六个栈来解决这个问题. 这个算法来自于这篇论文. 原文里用的是 Pure Lisp,不过语法很简单,还是很容易看懂的. 先导知识——用两个栈模 ...