最近docker环境下配置logstash,在启动logstash后,报错mysql-connector-java的jar包找不到,提示TypeError: failed to coerce jdk.internal.loader.ClassLoaders$AppClassLoader to java.net.URLClassLoader。这个是因为logstash的容器环境内的JDK版本问题导致的,可以通java -version看看容器内的JDK版本是否为JDK1.8,如果不是,我们只需要将JDK版本卸载再重新安装JDK1.8即可成功运行
docker ps
docker exec -it -u root 3e73d1f213fa /bin/bash
java -version
我这里是更换过的,如果不是JDK1.8就要更换到JDK1.8
[root@localhost ~]# rpm -qa|grep jdk
copy-jdk-configs-3.3-10.el7_5.noarch
java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.el7_5.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
卸载
[root@localhost ~]# yum -y remove java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.el7_5.x86_64
再上传自己的下载的JDK1.8包,进行安装和配置环境变量即可
最后测试一下容器内的JDK成功更换到JDK1.8,重新启动logstash即可
docker环境下配置logstash,连接mysq报错mysql-connector-java jar包找不到
原文:https://www.cnblogs.com/fate-pc/p/13326852.html