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

2 minute read
0

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:

For Amazon EMR versions earlier than 5.30:

$ sudo stop hue
$ sudo start hue

For Amazon EMR versions 5.30 and later:

$ sudo systemctl restart hue

Related information

Boto3 configuration

Hue

AWS OFFICIAL
AWS OFFICIALUpdated 2 years ago