docker環境下配置logstash,連接mysq報錯mysql-connector-java jar包找不到


問題描述:

最近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即可成功運行

解決過程:

  • 查看容器的id
docker ps

  • 進入容器的交互界面
docker exec -it -u root 3e73d1f213fa /bin/bash
  • 查看JDK版本
java -version


我這里是更換過的,如果不是JDK1.8就要更換到JDK1.8

  • 卸載JDK
[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

再上傳自己的下載的JDK1.8包,進行安裝和配置環境變量即可
最后測試一下容器內的JDK成功更換到JDK1.8,重新啟動logstash即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM