본문으로 바로가기

AWS EMR HUE에서 S3 브라우징

category Clould/AWS 2018. 12. 13. 18:16

오늘은 AWS EMR HUE에서 S3 브라우징이 되지 않을때 해결하는 방법을 살펴 보겠습니다.


EMR 설치 후 좌측 아이콘을 살펴보면 S3를 브라우징 할수 있는 아이콘이 존재 합니다.

아이콘을 클릭하면 현재 계정에서 접속할 수 있는 S3 Bucket들이 리스트업 되고 해당  Bucket을 클릭하면 Bucket안에 넣어 놓은 파일들이 리스트 되길 기대하게 되지만 막상 클릭하게 되면 우측 상단에 "Failed to retrieve bucket: Bad Request" 에러메시지와 함께 Bucket안의 파일이 보이지 않게 됩니다.





이는 S3 Bucket에 접근하기 위한 권한 문제로 정상적으로 S3안의 파일이 Browsing되게 하기 위해서는 hue.ini파일의 수정이 필요합니다.


emr-5.19.0 버전의 hue.ini 파일 위치는 /etc/hue/conf.empty 이며 마스터 노드에 ssh 접속 후 "sudo su"하여 root권한을 획득하거나 "sudo vim /etc/hue/conf.empty/hue.ini"명령을 통해 해당 파일의 4가지 옵션을 수정 하여야 합니다.



sudo su

vim /etc/hue/conf.empty/hue.ini

혹은

sudo vim /etc/hue/conf.empty/hue.ini


수정 전 IAM 롤에서 저장한 accessKey.csv를 미리 준비하셔야 합니다.


[수정 전]

###########################################################################
# Settings for the AWS lib
###########################################################################

[aws]
  [[aws_accounts]]
    # Default AWS account
    [[[default]]]
# AWS credentials
# access_key_id=

# secret_access_key=

## security_token=

# Execute this script to produce the AWS access key ID.
## access_key_id_script=/path/access_key_id.sh

# Execute this script to produce the AWS secret access key.
## secret_access_key_script=/path/secret_access_key.sh

# Allow to use either environment variables or
# EC2 InstanceProfile to retrieve AWS credentials.
## allow_environment_credentials=yes

# AWS region to use, if no region is specified, will attempt to connect to standard s3.amazonaws.com endpoint
## region=us-east-1



[수정 후]

###########################################################################
# Settings for the AWS lib
###########################################################################

[aws]
  [[aws_accounts]]
    # Default AWS account
    [[[default]]]
# AWS credentials
access_key_id=iam에서 저장하신 accessKey.csv의 access key id

secret_access_key=iam에서 저장하신 accessKey.csv의 secret access key

## security_token=

# Execute this script to produce the AWS access key ID.
## access_key_id_script=/path/access_key_id.sh

# Execute this script to produce the AWS secret access key.
## secret_access_key_script=/path/secret_access_key.sh

# Allow to use either environment variables or
# EC2 InstanceProfile to retrieve AWS credentials.
allow_environment_credentials=false

# AWS region to use, if no region is specified, will attempt to connect to standard s3.amazonaws.com endpoint
region=ap-northeast-2[Bucket Resion]


hue.ini를 수정하신 후에는 root권한 상태에서 hue를 재기동 해주신 후 다시 hue에 접속하시면 아래와 같이 S3 Bucket안의 파일이 잘 표시됨을 알 수 있습니다.


sudo su

status hue

stop hue

start hue






HUE를 재기동 하는 과정에서 저는 hue가 graceful하게 종료되지 않아 hue관련 프로세스를 전부 킬해준 후 hue를 재 기동 해주었습니다.

혹시라도 정확한 원인을 아시게 된 분은 댓글을 달아주시면 감사하겠습니다.


참고사이트

https://www.lkakarla.com/2018/03/aws-emr-access-s3-bucket-from-hue-editor.html


'Clould > AWS' 카테고리의 다른 글

DataLake Portfolio on AWS  (0) 2019.05.15
aws cli를 이용하여 ec2 설정  (0) 2019.05.14
EMR hue restart 방법  (0) 2019.01.09
AWS Bigdata Portfolio(Data Platform Portfolio) -Dark Version  (0) 2018.11.08