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을 s3.amazonaws.com 대신 Amazon S3 엔드포인트로 처리합니다.
해결 방법
이 오류를 해결하려면 엔드포인트 형식을 https://s3.amazonaws.com/awsdoc-example-bucket으로 변경하세요. 이 형식을 사용하면 버킷 이름이 얼마든지 많은 점을 가질 수 있습니다.
1. /etc/boto.cfg 파일을 엽니다.
2. boto.cfg 파일에 다음 행을 추가합니다.
[s3]
calling_format=boto.s3.connection.OrdinaryCallingFormat
3. Hue 서비스를 다시 시작합니다.
Amazon EMR 버전 5.30 미만의 경우:
$ sudo stop hue
$ sudo start hue
Amazon EMR 버전 5.30 이상인 경우:
$ sudo systemctl restart hue
관련 정보
Boto3 구성
Hue