elasticsearch连接拒绝 , 查看日志报错:“Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.

编程入门 行业动态 更新时间:2024-10-08 18:31:12

elasticsearch连接拒绝 , 查看日志<a href=https://www.elefans.com/category/jswz/34/1771188.html style=报错:“Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging."/>

elasticsearch连接拒绝 , 查看日志报错:“Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.

  • 情况描述: 

  • 寻找原因

首先想到的是,命令行查看es日志 $ docker logs elasticsearch,定位到报错的地方如下

 

  •  报错原因:缺少 commons-logging-1.2.jar 包(版本不一定要是1.2)

  •  解决问题的前置条件 ----   环境配置 (可能我们的环境配置不太一样,所以先说明一下我出现这种问题的环境是什么样的)         

        在 Centos7下利用docker拉取镜像:

$ docker pull elasticsearch:7.4.2

        安装命令为:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2 

更换目录到 $ cd /mydata/elasticsearch/plugins(上图挂载目录) ,有如下发现

     可以看到在 ik 目录下有各种 jar包, 因此猜想可以将缺少的jar包放置此位置。   

ps:  查找各种解决方法,基本上都说 缺少maven 依赖,可是我根本没有使用springboot。因此导入依赖不适合我的情况。

  • 解决过程

        1, 下载缺少的 commons-logging-1.2.jar 包,

        2,  利用xftp 将主机 jar文件传输到 虚拟机的 ik 目录(此目录与容器相关目录挂载)下, 

   3.  重启 elasticsearch ,  $ docker restart elasticsearch, 再次查看 日志 无报错, 网页输入 192.168.56.10: 9200,(即虚拟机地址:elasticsearch端口号)可正常访问, 利用postman也能成功发送请求

 

 

ps:  可能我的情况与大家不同,但通过这次我深有感触,认真分析日志报错,定位报错原因,只要找到原因,错误总能解决的。 我就是一开始没有认真分析,所以浪费了很长时间去解决。

更多推荐

elasticsearch连接拒绝 , 查看日志报错:“Caused by: java.lang.ClassNotFoundException: org.apa

本文发布于:2024-02-19 14:32:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764572.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:报错   日志   java   Caused   elasticsearch

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!