取消
顯示的結果
而不是尋找
你的意思是:

連接數據庫on-prem偶爾去錯服務器了

MichelSmits
新的貢獻者三世

我們運行一個dbx的工作,使用jdbc連接到三on-prem數據庫(SQL Server)。偶爾會去錯誤的服務器的一個連接。

在工作日誌中我們看到com.microsoft.sqlserver.jdbc錯誤”。用戶“xxxxxx SQLServerException:登錄失敗”。我們也記錄使用用戶名和ip地址(排除一個DNS問題我們使用ip地址連接字符串)所以我們某些連接正試圖做什麼。

在SQL Server方麵,我們看到了錯誤“登錄失敗,用戶xxxxxx。”But, on a different server.

我們必須執行查詢的代碼是:

df = (spark.read

.format (jdbc)

.option (" url " f " jdbc::狀態"置疑" / / {ip};數據庫名= {self.connection.database};加密= true; trustServerCertificate = true”)

.option(“查詢”,語句)

.option (“sslProtocol”、“TLSv1.2”)

self.connection.user .option(“用戶”)

.option(“密碼”,pw)

)

ICT檢查ip流量日誌和驗證(雖然無法解釋它)會發生什麼。

最後,給“偶爾”一詞更多的意義……我們的工作每小時運行並執行50 +每運行查詢。我們有這個問題一次5-ish運行(但不可預測)。我們沒有看到任何模式的時機。

4回複4

匿名
不適用

@Michel史密特:

很難確定是什麼導致這個問題,但可能會有競爭條件或某種時機問題導致連接去錯服務器了。這裏有幾件事你可以嚐試進行故障排除和解決問題:

  1. 檢查連接池配置:有可能連接池沒有被正確配置,這可能導致意想不到的方式連接到被重用。確保你正確地配置連接池為您的特定的JDBC驅動程序和SQL Server的版本。您可以檢查您的JDBC驅動程序和SQL服務器的文檔來獲得更多的信息在正確的配置參數。
  2. 啟用日誌:啟用日誌JDBC驅動程序中獲得更多的信息在連接時發生了什麼。你也可以嚐試在您的SQL服務器啟用日誌記錄是否有任何錯誤或警告,可能會提供更多的信息關於正在發生的事情。
  3. 使用不同的JDBC驅動程序:嚐試使用不同的JDBC驅動程序,看看,就可以解決這個問題。有許多不同的JDBC驅動程序用於SQL Server,所以你可以找到一個更好的適用於您的特定的用例。
  4. 檢查SQL Server設置:檢查SQL服務器設置,以確保它們是正確配置為您的特定的用例。例如,確保連接字符串是正確的,SQL Server配置為接受來自你的IP地址連接。
  5. 增加超時值:增加對你的JDBC連接超時值,以確保有足夠的時間來建立正確的連接。你可以試試connectTimeout和socketTimeout參數設置為更高的價值是否有幫助。
  6. 使用不同的身份驗證方法:嚐試使用不同的身份驗證方法,看看,就可以解決這個問題。例如,您可以嚐試使用Windows身份驗證,而不是SQL服務器身份驗證,看看更好的適用於您的特定的用例。

MichelSmits
新的貢獻者三世

嗨Suteja,

謝謝你的冗長的回複。我們也認為這是某種競爭條件。

至於你點……

我們不確定如何影響1/2因為它們磚環境的一部分。

同時,我們不相信4/5/6將如何幫助因為問題是請求去錯服務器了。

這使得1。我們發現有另一個司機,我們這,看看是否對你有幫助。

在代碼:

df = (spark.read.format('sqlserver') .option('host', ip) .option('user', connection.user) .option('password', pw) .option('database', connection.database) .option('sslProtocol', 'TLSv1.2') .option('trustServerCertificate', 'true') .option('encrypt', 'true') .option(query_or_table, statement) )

我們需要等待,看看這解決了問題。

謝謝,

米歇爾

MichelSmits
新的貢獻者三世

嗨Suteja,

不幸的是這種變化並沒有解決問題。看著例外和堆棧跟蹤看起來完全相同的代碼,所以:

spark.read.format (jdbc)

spark.read.format(' '狀態"置疑")

實際上是相同的。

我們現在的“解決方案”,基本上是連接再次當我們有這個異常。我們現在一直在做的這幾個星期,可以確認這個錯誤發生時,第二個連接請求總是成功。

歡呼,

米歇爾

Vidula_Khanna
主持人
主持人

嗨@Michel史密特

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map