elasticsearch 后集群状态下 聚合时 类型转换错误 原因及分析
来源:互联网 发布:淘宝网拉丁舞服装 编辑:程序博客网 时间:2024/06/16 16:32
先来看下错误
前端错误
- 两层聚类时,外面一层返回的key是乱码,这个乱码并不是编码问题,而是根本没有对第二层的聚类分类。第一层里面的数据全部都是一样的。
- 直接报错,500或者503,类型转换错误或者解析异常。
后台错误:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
测试分析
以下测试集群中两个机器都单独存储数据
测试
- 在Elasticsearch1.6版本下,尝试多次后发现,当集群一开始只有一个时,即另一个并没有启动(两个机器的node.master都是默认值,也就是true)。插入数据,并进行聚类运算是正常的。当启动集群中另一个机器时,由于es会自动复制数据,复制完数据后,再进行聚类查询,结果错误。
- 在Elasticsearch1.6版本下,集群中的两台机器均启动,此时集群中没有数据。创建mapping并插入数据。再次进行查询,结果正确。
- 在Elasticsearch1.6版本下,集群中一台机器设置node.master: true,另一个设置为 false,先对master机器进行数据插入后,再启动slave机器进行自动数据复制。再次进行查询,结果错误。
- 在Elasticsearch1.7版本下,进行了同样的测试,每一次结果都和1.6版本相同。
分析
- 由于会出现类型转换错误,但是普通查询并没有出错。猜测是由于elasticsearch在集群中两台机器都可以是master的情况下导致mapping同步问题。而数据本身没错。
解决方法
如果要两个都是master,则需要在集群正常的情况下进行mapping的创建,数据的插入等等,避免出错。
回想
我觉得可能也和我的数据有原因吧,但是就算是数据有问题,索引本身,mapping也不应该出错。这里应该是Elasticsearch有一些问题导致。一下子我并不能从核心来解决这个问题。只能是在集群中,一定要正确使用。
另
还有一种查询方式,用脚本查询
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
终
最后还有一种方法,由于我的字段是long类型的,而且有很多这样的字段,却只有一个字段有问题,解决方法很简单,把这个字段修改成万能的string类型,就能解决问题。至于到底是什么原因导致的问题,我在看源码,但是,并不能一下子就搞定。稍等……
转载于http://blog.csdn.net/zhanlanmg/article/details/50110649 感谢这位作者。
阅读全文
0 0
- elasticsearch 后集群状态下 聚合时 类型转换错误 原因及分析
- elasticsearch 后集群状态下 聚合时 类型转换错误 原因及分析
- Elasticsearch分析聚合
- ElasticSearch聚合分析API
- Elasticsearch分析聚合
- Elasticsearch分析聚合
- Java常见异常类型及原因分析(下)
- Elasticsearch- 集群状态查询
- elasticsearch 集群状态信息
- Elasticsearch(六)elasticsearch聚合分析
- elasticsearch集群的状态查看
- Elasticsearch 初探及window下集群的搭建
- centos7下elasticsearch 集群安装、配置及示例
- Strus常见错误及原因分析(ZZ)
- struts常见错误及原因分析
- Struts常见错误及原因分析
- Struts常见错误及原因分析
- Strus常见错误及原因分析
- 程序员遇到技术问题该怎么解决
- android EditText控件可输入正负数及小数位
- java 接口和抽象类的区别
- 自定义线程池-自定义有界队列
- jvm中垃圾回收机制
- elasticsearch 后集群状态下 聚合时 类型转换错误 原因及分析
- 第六次实验
- C#获取本地IP地址
- 前端基础进阶系列
- 反射
- caffe编译小笔记
- iis基本运维要点
- 35 个 Java 代码性能优化总结
- Perfect Number【LeetCode】