我正在嘗試從 Spark Scala 中的 JDBC 讀取資料。下面是用 Databricks 撰寫的代碼。
val df = spark
.read
.format("jdbc")
.option("url", <connection-string>)
.option("dbtable", <table-name>)
.option("user", <username>)
.option("password", <password>)
.option("ssl", True)
.option("sslmode", "require")
.load()
我收到以下錯誤訊息:
java.sql.SQLNonTransientConnectionException: Could not connect to 10.6.8.86:3306 : PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
有人可以讓我知道如何解決這個問題。
uj5u.com熱心網友回復:
您的主機使用的證書不受 java 信任。
解決方案 1(簡單,不推薦)
禁用證書檢查并始終信任服務器提供的證書。
添加trustServerCertificate屬性。
val df = (spark
.read
.format("jdbc")
.option("url", <connection-string>)
.option("dbtable", <table-name>)
.option("user", <username>)
.option("password", <password>)
.option("ssl", True)
.option("trustServerCertificate", True)
.option("sslmode", "require")
.load()
解決方案 2(困難,推薦)
獲取證書并將其存盤在系統的受信任存盤區中。
在此處閱讀更多相關資訊
- https://magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed/
- “PKIX 路徑構建失敗”和“無法找到到請求目標的有效認證路徑”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/393583.html
