為什麼在 Amazon EMR 中使用 Hue S3 檔案瀏覽器時無法存取我的 S3 儲存貯體?

1 分的閱讀內容
0

我正在使用 Hue (Hadoop User Experience) 存取 Amazon EMR 叢集上的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。我收到下列其中一個錯誤訊息: 沒有符合搜尋條件的檔案。無法存取路徑 "s3a://awsdoc-example-bucket.hue1":主機名稱 u'awsdoc-example-bucket.hue1.s3.amazonaws.com' 不符合 '.s3.amazonaws.com' 或's3.amazonaws.com' 無法擷取儲存貯體:主機名稱 u'awsdoc-example-bucket.hue1.s3.amazonaws.com' 不符合 '.s3.amazonaws.com' 或 's3.amazonaws.com'

簡短描述

Hue 的預設 Amazon S3 調用格式是 https://awsdoc-example-bucket.s3.amazonaws.com。如果您的 S3 儲存貯體名稱中有點 (.),則 Amazon S3 端點中會包含部分儲存貯體名稱。例如,如果您的儲存貯體命名為 awsdoc-example-bucket.hue,則 Hue 將 hue.s3.amazonaws.com 視為 Amazon S3 端點,而不是 s3.amazonaws.com

解決方法

若要解決此錯誤,請將端點格式變更為 https://s3.amazonaws.com/awsdoc-example-bucket。使用此格式時,儲存貯體名稱中可以有任意數量的點。

1.    開啟 /etc/boto.cfg 檔案。

2.   將下列行新增至 boto.cfg 檔案中:

[s3]
calling_format=boto.s3.connection.OrdinaryCallingFormat

3.    重新啟動 Hue 服務:

對於早於 5.30 的 Amazon EMR 版本:

$ sudo stop hue
$ sudo start hue

對於 Amazon EMR 5.30 及更高版本:

$ sudo systemctl restart hue

相關資訊

Boto3 組態

Hue

AWS 官方
AWS 官方已更新 2 年前