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表示查询多少条文档。
阅读全文