m0_60461532 2022-10-15 19:24 采纳率: 75%
浏览 24
已结题

logstash运行报错NameError: cannot link Java class

问题遇到的现象和发生背景

大数据采集课程使用ELK工具中logstash的报错

用代码块功能插入代码,请勿粘贴截图

用终端运行logstash后报错
如下是我logstash想要运行的.conf文件
input {
jbdc{
jdbc_connection_string => "jdbc:mysql://localhost:3306/lab4"
jdbc_user => "root"
jdbc_password => "g"
jdbc_validate_connection => true
jdbc_driver_library => "D:\ELK\logstash-5.6.16\logstash-5.6.16\mysqltest\mysql-connector-java-8.0.22.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
statement_filepath => "D:\ELK\logstash-5.6.16\logstash-5.6.16\mysqltest\test4.sql"
schedule => "* * * * *"
}
}

filter{
json{
source => "message"
remove_field => ["message"]
}
}
output {
elasticswarch {
hosts =>"http://localhost:9200"
index =>"index_test"
document_type => "_doc"
}
}

运行结果及报错内容

D:\ELK\logstash-5.6.16\logstash-5.6.16\bin>java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

D:\ELK\logstash-5.6.16\logstash-5.6.16\bin>logstash.bat
NameError: cannot link Java class org.apache.logging.log4j.core.config.LoggerConfig needs Java 8 (java.lang.UnsupportedClassVersionError: org/logstash/log/LogstashLogEventFactory : Unsupported major.minor version 52.0)
get_proxy_or_package_under_package at org/jruby/javasupport/JavaUtilities.java:54
method_missing at file:/D:/ELK/logstash-5.6.16/logstash-5.6.16/vendor/jruby/lib/jruby.jar!/jruby/java/java_package_module_template.rb:14
Logging at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/logging/logger.rb:10
LogStash at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/logging/logger.rb:5
(root) at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/logging/logger.rb:4
require at org/jruby/RubyKernel.java:1040
(root) at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/util/loggable.rb:1
require at org/jruby/RubyKernel.java:1040
(root) at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/util/loggable.rb:2
require at org/jruby/RubyKernel.java:1040
(root) at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/settings.rb:1
require at org/jruby/RubyKernel.java:1040
(root) at D:/ELK/logstash-5.6.16/logstash-5.6.16/logstash -core/lib/logstash/settings.rb:2
require at org/jruby/RubyKernel.java:1040
(root) at D:\ELK\logstash-5.6.16\logstash-5.6.16\lib\bootstrap\environment.rb:70

我的解答思路和尝试过的方法

报错说是连接不上java 网上查询后有一条一模一样的问题,但是他是说jdk的版本不对要1.8以上的,然而我的jdk是1.8.0_201,并且我尝试换1.8.X其他版本的jdk后仍然这样报错。

我想要达到的结果

能够通过logstash将mysql或者csv文件传输到我的es上(能让我的logstash运行起来也好.)

  • 写回答

1条回答 默认 最新

  • IT民工金鱼哥 运维领域新星创作者 2022-10-17 14:33
    关注

    查了官网了,是只能使用1.8 的JDK,你1.8 的版本,是支持的啦。

    img


    然后看报错,是说你的JAVA 版本不支持?

    img

    奇怪,按道理是支持才对,上一下你的Logstash配置文件,还有,环境变量是设置正确的吧(这个很重要)?
    再有,你还是别部署 这么旧的版本啊。。。起码都玩 7 的版本。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵