ElasticSearch常见错误如何高效解决?
摘要:前言 本文主要介绍ElasticSearch在使用过程中出现的各种问题解决思路和办法。 ElasticSearch环境安装问题 1,max virtual memory areas vm.max_map_count [65530] is t
前言
本文主要介绍ElasticSearch在使用过程中出现的各种问题解决思路和办法。
ElasticSearch环境安装问题
1,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因: 内存限制太小了!
解决办法: 修改最大内存限制!
修改sysctl.conf文件
vim /etc/sysctl.conf
在末尾增加如下配置:
vm.max_map_count = 655360
vm.swappiness=1
然后保存退出,输入以下命令使其生效
sysctl -p
使用命令查看:
tail -3 /etc/sysctl.conf
图片示例:
2,max number of threads [2048] for user [elastic] is too low, increase to at least [4096]
原因: 线程数限制太少了!
解决办法: 修改最大线程数限制!
修改90-nproc.conf文件
vim /etc/security/limits.d/90-nproc.conf
注:不同的linux服务器90-nproc.conf可能文件名不一样,建议先在/etc/security/limits.d/查看文件名确认之后再来进行更改。
将下述的内容
soft nproc 2048
修改为
soft nproc 4096
使用命令查看:
tail -3 /etc/security/limits.d/90-nproc.conf
3, max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]
原因: 打开文件个数太少了!
解决办法: 修改最打开文件个数!
修改limits.conf
vim /etc/security/limits.conf
在末尾添加如下内容:
* hard nofile 65536
* soft nofile 65536
elastic soft memlock unlimited
elastic hard memlock unlimited
4,ERROR:bootstrap checks failed
原因:未锁定内存。
解决办法:在报错机器上的elasticsearch.yml配置文件中添加bootstrap.memory_lock: true配置!
ElasticSearch使用问题
1,ES查询下标数过大
原因: index * pagesiz 大于ES默认的返回最大的值 1w,所以提示异常!
解决办法:
一、可以通过url设置,方便快捷不用重启。如下:
curl -XPUT http://127.0.0.1:9200/book/_settings -d '{ "index" : { "max_result_window" : 200000000}}'
注意:
1.size的大小不能超过index.max_result_window这个参数的设置,默认为10,000。
2.需要搜索分页,可以通过from size组合来进行。from表示从第几行开始,size表示查询多少条文档。
