IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> springboot整合Elasticsearch的曲折之路 -> 正文阅读

[大数据]springboot整合Elasticsearch的曲折之路

记录一下在使用JAVA API方式操作ES时一路上遇到的各种Error

我使用的MAVEN版本分别是springboot 2.2.5.RELEASE Eelasticsearch 7.3.1 ES Server 7.6.1 阿里云部署。

java.lang.NoSuchMethodError: org.elasticsearch.client.Request.addParameters(Ljava/util/Map;)V

这是在只导入以下maven 依赖之后当我调用restHighLevelClient.indices().exists提示的报错:

<dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.3.1</version>
</dependency>
<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.3.1</version>
</dependency>

报错原因是因为高版本的依赖内部指定的是低版本的rest-client
在这里插入图片描述
所以首先需要忽略掉低版本的rest-client 依赖,再导入指定的版本依赖,然后错误解除

<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.3.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>elasticsearch-rest-client</artifactId>
                    <groupId>org.elasticsearch.client</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>7.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.3.1</version>
        </dependency>

5000 socketTimeout Caused by: java.net.ConnectException: Timeout connecting to [/**********:9200]

紧接着再次调用控制台继续报错,提示连接超时,这个是因为设置的sockettimeout 时间导致的,大家可以根据自己的情况延长超时时间:(我直接再加一颗零)
在这里插入图片描述

master_not_discovered_exception reason null status 503 The service is unavailable

继续过关斩将,新的报错又出现了。。。
这次直接503 服务不可用了,然后将目标转向服务端的配置:
发现是在elasticsearch.yml配置文件下我配置的node节点名称不对
在这里插入图片描述
这个是集群环境下的master-node的配置 其中以上报错是找不到master-node,因为我配置的这个name实际上是不存在的 ,所以只需要修改为当前的node.name: node-1
在这里插入图片描述

analyzer [ik_max_word] not found for field [title]

*再次调用之后又报错,这次报错是关于ik分词器的,因为我在代码中进行调用的时候指定了要使用ik分词,结果服务器发现不存在,后来在服务器上一查 结果是忘记装ik插件了,所以赶紧安装了

Likely root cause: java.nio.file.FileSystemException: /home/es/elasticsearch-7.6.1/plugins/elasticsearch-analysis-ik-7.6.1.jar/plugin-descriptor.properties: Not a directory

安装完成ik之后又提示这个,网上各种查资料有说需要clean compiler package的,但是我的不是因为这个问题,我的是因为我的ik.zip包是直接在ES server 安装目录下的plugins目录下直接unzip的,后来我在plugins下新建了一个目录叫ik ,然后在ik目录下在重新解压 然后重启server 问题解除!

结语

OK,这些就是我在自己搭建es再用springboot整合时遇到的一些问题,很烦。
希望以上报错可以帮助到其他人,如果觉得有用的话,不要吝啬的你的点赞,将是我继续分享的动力!谢谢。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:06:45  更:2022-05-06 11:09:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:57:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码