使用 JDBC 或 ODBC 驅動程式連線至 Athena 時,如何疑難排解「與 Amazon Athena 通訊時發生錯誤」的錯誤?

2 分的閱讀內容
0

當我使用 Amazon Athena 和 Java Database Connectivity (JDBC) 或 Open Database Connectivity (ODBC) 驅動程式時,出現連線逾時問題。或者,我在商業智慧工具上看不到 Athena 查詢結果。

解決方法

造成此錯誤的最常見原因是您安裝 JDBC 或 ODBC 驅動程式的主機與 Athena 或 AWS Glue 端點之間的連線。

若要疑難排解此錯誤,請檢查已安裝主機上的驅動程式與 Athena 或 AWS Glue 之間的連線。

注意: 在下列步驟中,將 vpce-NAME 中的 NAME 替換為您的 VPC 端點名稱。

與 Athena 的連線

為了確保您與 Athena 連線正確,請記住以下幾點:

  • 您的主機可以透過 Athena 公共服務端點或 Athena 私有端點連線至 Athena。如需有關設定端點的詳細資訊,請參閱指令列選項Boto3 文件
  • Athena 使用連接埠 443 連線至主機。
  • Athena 的串流 API 使用連接埠 444 串流查詢結果。當您使用 JDBC 或 ODBC 驅動程式時,Athena 會使用此連接埠將查詢結果串流至用戶端主機上的驅動程式。因此,當您使用 JDBC 或 ODBC 驅動程式連線至 Athena 時,請解除封鎖此連接埠。如果封鎖此通訊埠,則當您執行查詢時,您的商業智慧工具可能會逾時或無法顯示查詢結果。

Athena 端點連線

Athena 端點看起來與 athena.us-east-1.amazonaws.com 類似。在命令中輸入端點時,請務必更新端點中的目標 AWS 區域。

若要測試端點的連線能力,請根據您的作業系統 (OS) 執行下列命令:

注意: 您也可以使用這些命令來測試連接埠 444 的連線。

Windows

telnet athena.us-east-1.amazonaws.com 443

-或-

Test-NetConnection -Computer_Name athena.us-east-1.amazonaws.com -Port 443

Linux 或 macOS

nc -v athena.us-east-1.amazonaws.com 443

如果您將虛擬私有雲 (VPC) 端點用於私有 DNS,請在這些命令中將 vpce-NAME 附加到端點的開頭。例如,在私有 DNS 中,不要輸入 athena.us-east-1.vpce.amazonaws.com,而是輸入 vpce-NAME.athena.us-east-1.vpce.amazonaws.com。將 NAME 替換為您的 VPC 的名稱。如需有關私有 DNS 的更多資訊,請參閱使用介面 VPC 端點連線至 Amazon Athena使用端點政策控制對 VPC 端點的存取權限

並且,請確定您遵循 ODCBJDBC 驅動程式的最佳實務。例如,這兩個驅動程式都要求您保持連接埠 444 開啟。

連接到 AWS Glue

請務必檢查您安裝在 JDBC 或 ODBC 驅動程式上的主機與 AWS Glue 之間的連線。您的主機可以透過 AWS Glue 公有服務端點或 AWS Glue 私有服務端點連線到 AWS Glue。如需詳細資訊,請參閱 AWS Glue 服務端點。Athena 使用 AWS Glue Data Catalog 存放和擷取帳戶中 Amazon S3 資料中的表格中繼資料 。因此,您的驅動程式必須成功連線到 AWS Glue 目錄,才能取得表格中繼資料資訊。

如果您使用 AWS Glue 公有服務端點,請使用類似下列範例的命令來測試連線:

注意: 您可能需要使用 Test-NetConnection 或 nc,來根據您的作業系統檢查連接埠的連線能力。

telnet glue.us-east-1.amazonaws.com 443

如果您使用 AWS Glue VPC 界面端點,請使用類似下列範例的命令測試連線:

**注意:**如果您已關閉端點的私有 DNS,請使用下列命令。

telnet vpce-NAME.glue.us-east-1.vpce.amazonaws.com 443

相關資訊

使用 ODBC 和 JDBC 驅動程序連線到 Amazon Athena

AWS 官方
AWS 官方已更新 10 個月前