I can't access my S3 bucket when using the Hue S3 File Browser in Amazon EMR

Last updated: 2020-07-14

I'm using Hue (Hadoop User Experience) to access Amazon Simple Storage Service (Amazon S3) buckets on an Amazon EMR cluster. I'm getting one of the following error messages:

  • There are no files matching the search criteria.
  • Failed to access path "s3a://awsdoc-example-bucket.hue1": hostname u'awsdoc-example-bucket.hue1.s3.amazonaws.com' doesn't match either of '*.s3.amazonaws.com', 's3.amazonaws.com'
  • Failed to retrieve bucket: hostname u'awsdoc-example-bucket.hue1.s3.amazonaws.com' doesn't match either of '*.s3.amazonaws.com', 's3.amazonaws.com'

Short description

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

Resolution

To resolve this error, change the endpoint format to https://s3.amazonaws.com/awsdoc-example-bucket. 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.    Restart the Hue service:

$ sudo stop hue
$ sudo start hue

Did this article help?


Do you need billing or technical support?