我的 Amazon EMR 叢集使用已啟用傳輸中資料加密的安全組態。我嘗試使用 Hue (Hadoop 使用者體驗) 存取叢集上的 Amazon Simple Storage Service (Amazon S3) 儲存貯體時,出現以下其中一種錯誤: 「無法存取:s3a://。」「無法存取:s3a://。HDFS REST 服務無法使用。」「錯誤交握: Error([('SSL routines', 'ssl3_get_server_certificate', '憑證驗證失敗')])」
解決方法
「無法存取:s3a://。」和「無法存取:s3a://。HDFS REST 服務無法使用。」
當您啟動加密叢集時,Amazon EMR 預期所有連線都是安全的。但是,預設的通訊協定是 HTTP,而不是 HTTPS。若要解決這些錯誤:
1. 開啟 /etc/hue/conf/hue.ini 檔案。
2. 在 webhdfs_url 屬性中,請確定通訊協定是 https,而且連接埠是 50470。範例:
webhdfs_url = https://master-node-private-ip-address:50470/webhdfs/v1
3. 執行下列命令以重新啟動 Hue 服務:
$ sudo stop hue
$ sudo start hue
「錯誤交握: Error([('SSL routines', 'ssl3_get_server_certificate', '憑證驗證失敗')])」
如果您使用的是自我簽署憑證,可能還會收到錯誤「錯誤交握: Error([('SSL routines', 'ssl3_get_server_certificate', '憑證驗證失敗')])。」 Hue 嘗試使用憑證授權機構 (CA) 驗證憑證時,就會發生這種情況,如果您使用自我簽署憑證,這就不可能會發生。若要解決此錯誤:
1. 開啟 /etc/hue/conf/hue.ini 檔案。
2. 將 ssl_cert_ca_verify 屬性從 true 變更為 false:
ssl_cert_ca_verify=false
3. 執行下列命令以重新啟動 Hue 服務:
$ sudo stop hue
$ sudo start hue
相關資訊
建立用於資料加密的金鑰和憑證
Hue