日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Logstash錯誤Java::JavaLang::NoClassDefFoundError無法解析的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我是使用ElasticSearch(ES)和logstash的新手。我已經使用這個link成功設置了ElasticSearch和kibana。在此之后,我嘗試使用logstash將一個表從SQL server上傳到ES。我的logstash配置文件如下所示:

input {
  jdbc {
  clean_run => true
    jdbc_driver_library => "/home/myusr/Downloads/sqljdbc_6.0/enu/jre8/sqljdbc42.jar"
    jdbc_connection_string => "jdbc:sqlserver://xyz;databaseName=test;user=name;password=pass@123;"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    jdbc_validate_connection => true
    jdbc_user => "name"
    jdbc_password => "pass@123"
    statement => "SELECT top 10 * FROM mytable"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "my_table"
 }

}

在運行此文件時,我得到:

[ERROR] 2021-07-16 18:13:55.567 [[main]<jdbc] jdbc - Unable to connect to database. Tried 1 times {:message=>"Java::JavaLang::NoClassDefFoundError: javax/xml/bind/DatatypeConverter", :exception=>Sequel::DatabaseConnectionError, :cause=>java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter, :backtrace=>["com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(com/microsoft/sqlserver/jdbc/SQLServerConnection.java:4098)"

我按照建議here在刪除java11版本后嘗試重新安裝java8。但它沒有起作用。我沒有使用任何Gradle或IDE來執行--add-modules來解決該問題。我正在跟進link,但到目前為止還沒有解決方案。我用這個遇到了障礙。我也檢查過這個link。我在這里沒有執行的唯一步驟是&quot;使用映射&quot;創建Elasticsearch索引。這就是問題的原因嗎?如何解決此問題?

感謝任何幫助。

推薦答案

我找到了問題的解決方案。

如果您看到上面的鏈接,它們會將sqljdbc42.jar顯示為JDBC SQL Server驅動程序,其路徑必須保存在jdbc_driver_library中。這是Microsoft website上可用的驅動程序,名稱為tar.gz。但是,當我在這個link(zip文件中的驅動程序)中將驅動程序更改為‘mssql-jdbc-9.2.1.jre11.jar’時,它起作用了。我還更改了Logstash文件中的jdbc_driver_library,如此link所示。

更新后的Logstash conf文件如下所示:

input {
  jdbc {
  clean_run => true
    jdbc_driver_library => ""
    jdbc_connection_string => "jdbc:sqlserver://xyz;databaseName=test;user=name;password=pass@123;"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    jdbc_validate_connection => true
    jdbc_user => "name"
    jdbc_password => "pass@123"
    statement => "SELECT top 10 * FROM mytable"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "my_table"
 }
}

請注意,jdbc_driver_library被分配給空字符串。之所以可以這樣做,是因為我們已經設置了JDBC驅動程序文件的路徑,以便可以通過Logstash找到它。除了設置給定的路徑here外,我還將JAR文件復制到這個位置:/usr/share/logstash/logstash-core/lib/jars/以便Logstash輕松找到驅動程序。

使用以上功能,我成功連接將數據從SQL Server遷移到Elastic Search。

這篇關于Logstash錯誤Java::JavaLang::NoClassDefFoundError無法解析的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Java JavaLang Logstash NoClassDefFoundError 解析 錯誤
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定