栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticsearch连接拒绝 , 查看日志报错:“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:  可能我的情况与大家不同,但通过这次我深有感触,认真分析日志报错,定位报错原因,只要找到原因,错误总能解决的。 我就是一开始没有认真分析,所以浪费了很长时间去解决。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710917.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号