I'm using Hue (Hadoop User Experience) to access Amazon Simple Storage Service (Amazon S3) buckets on an Amazon EMR cluster. I'm getting an error message similar to the following: "Failed to retrieve bucket: hostname u'emr.example.s3.amazonaws.com' doesn't match either of '*.s3.amazonaws.com', 's3.amazonaws.com'."

The default Amazon S3 calling format for Hue is https://bucket-name.s3.amazonaws.com. If there is a dot (.) in your S3 bucket name, part of the bucket name gets included in the S3 endpoint. For example, if your bucket is named testing.hue, then Hue treats hue.s3.amazonaws.com as the S3 endpoint instead of s3.amazonaws.com.

To resolve this error, change the endpoint format to https://s3.amazonaws.com/bucket-name. When you use this format, you can have as many dots in your bucket name as you want.

1.    Open the /etc/boto.cfg file.

2.    Add the following lines to the boto.cfg file:

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

3.    Run the following commands to restart the Hue service:

$ sudo stop hue
$ sudo start hue

Hue


Did this page help you? Yes | No

Back to the AWS Support Knowledge Center

Need help? Visit the AWS Support Center

Published: 2019-01-29