Amazon EMR 클러스터의 Hue(Hadoop User Experience) 웹 인터페이스에서 Amazon Simple Storage Service(Amazon S3) 테이블에 액세스할 수 없습니다. 다음과 비슷한 오류 메시지가 표시됩니다. "Failed to access path: 's3a://path' Check that you have access to read this bucket and that the region is correct: Bad Request."

이 오류는 일반적으로 us-east-1 리전에 없는 S3 버킷에 액세스하려고 하면 발생합니다. Hue 웹 인터페이스에서 S3 테이블에 액세스하려면 S3에서 외부 Hive 테이블을 생성합니다. hue.ini 파일에서 S3 버킷의 리전과 일치하도록 region 파라미터를 업데이트하고 Hue를 다시 시작합니다.

사전 조건

CREATE EXTERNAL TABLE IF NOT EXISTS urls3(
 id STRING,
 'date' string,
 url STRING,
 expandedUrl STRING,
 domain STRING
) 
PARTITIONED BY ('year' INT, 'month' INT,
    'day' INT)
    
STORED AS PARQUET LOCATION 's3://bucket-name/new/';

Hue 구성 확인

기본적으로 Amazon EMR에서는 Hue region 파라미터를 us-east-1로 설정합니다. us-east-1 이외 리전에서 S3 테이블에 액세스하려면 hue.ini를 수정합니다.

1.    region 파라미터의 주석 상태를 해제합니다.

sudo sed -i '/region/s/^##//g' /etc/hue/conf/hue.ini

2.    region 파라미터를 버킷이 있는 리전으로 설정합니다. 다음 예제에서 버킷은 eu-west-1에 있습니다.

sudo sed -i '/region/s,us-east-1,eu-west-1,' /etc/hue/conf/hue.ini

Hue 다시 시작

1.    다음 명령을 실행하여 Hue를 다시 시작합니다.

sudo stop hue ; sudo start hue

2.    HUE 웹 인터페이스를 닫았다가 다시 열고 S3 테이블에 액세스합니다. 이제 테이블에 액세스할 수 있습니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2019년 3월 19일