• ES相关异常问题总结


    wshanshi:总结记录…便于回顾…

    一、ES分配内存过小

    关于《跑的ES容器自己停了》这件事:查看docker容器log发现es很占用内存,是空间给的太小了。看了下log至少需要2G。日志中还提到了至少设置一个discovery.type,如下图所示。

    在这里插入图片描述

    跑容器时可以参照如下设置。

    docker run -d  -p 9200:9200 -p 9300:9300  -e ES_JAVA_POTS="-Xms256m -Xmx256m"  -e "discovery.type=single-node" --name es   f29a1ee41030
    
    • 1

    二、ES版本与SpringBoot版本冲突

    2.1、异常信息

    org.elasticsearch.xcontent.XContentParseException: [11:3] [org.elasticsearch.client.core.MainResponse] failed to parse field [version]

    nested exception is org.springframework.data.elasticsearch.UncategorizedElasticsearchException: Failed to parse info response. Check logs for detailed information - [11:3] [org.elasticsearch.client.core.MainResponse] failed to parse field [version]; nested exception is ElasticsearchException[Failed to parse info response. Check logs for detailed information - [11:3] [org.elasticsearch.client.core.MainResponse] failed to parse field [version]]

    2.2、解决方法

    springboot版本和es版本有冲突,选择合适的版本。

    三、IK分词器

    3.1、异常报错

    未安装分词器会出现如下异常:

    {“error”:{“root_cause”:[{“type”:“mapper_parsing_exception”,“reason”:“analyzer [ik_max_word] not found for field [subTitle]”}],“type”:“mapper_parsing_exception”,“reason”:“Failed to parse mapping [_doc]: analyzer [ik_max_word] not found for field [subTitle]”,“caused_by”:{“type”:“mapper_parsing_exception”,“reason”:“analyzer [ik_max_word] not found for field [subTitle]”}},“status”:400}

    3.2、解决方法

    安装IK分词器。

    注意:安装的分词器版本需要和ES版本相同。

    3.2.1、通过curl命令可以查看ES版本
    curl http://localhost:9200
    
    • 1

    在这里插入图片描述

    3.2.2、下载分词器

    es安装的哪个版本,就下载哪个版本的分词器。

    wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
    
    • 1
    3.2.3、分词器cp到容器中
    docker cp 文件路径 容器id:/usr/share/elasticsearch
    
    • 1
    3.2.4、进入容器
    docker exec -it elasticsearch /bin/bash
    
    • 1
    3.2.5、切到指定目录
    cd /usr/share/elasticsearch
    
    • 1
    3.2.6、解压到ik文件夹下
    unzip elasticsearch-analysis-ik-7.6.2.zip -d ik
    
    • 1
    3.2.7、移动到plugins目录下
    mv ik plugins/
    
    • 1
    3.2.8、重启es
    docker restart xxxxx
    
    • 1

    再次尝试,就不会报异常啦。

  • 相关阅读:
    Spring基于注解开发案例
    NOSQL之Redis配置与优化
    2022年-不要再安装python2.7.9之前的版本
    三极管集电极电阻的作用
    前端技能树,面试复习第 45 天—— Vue 基础 | 模版编译原理 | mixin | use 原理 | 源码解析
    npm常用命令大全(非常详细)
    2022 年全国职业院校技能大赛高职组云计算赛项-容器云环境搭建
    seatunnel win idea 本地调试
    Python基础之生成器
    6.Docker搭建RabbitMQ
  • 原文地址:https://blog.csdn.net/weixin_43770545/article/details/127656480