AWS 중국(베이징) 리전에서 Hive 및 Presto를 사용하여 Amazon EMR 클러스터를 시작할 때 "제공된 토큰이 잘못 구성되었거나 잘못됨(The provided token is malformed or otherwise invalid)" 오류가 표시되는 이유는 무엇입니까?

2분 분량
0

AWS 중국(베이징) 리전(cn-north-1)에서 Amazon EMR 클러스터를 시작했습니다. Presto 및 Apache Hive를 사용하여 Amazon Simple Storage Service(Amazon S3) 버킷에서 외부 테이블을 생성했습니다. Hive 및 Presto를 사용하여 테이블을 쿼리할 때 다음과 비슷한 오류가 나타납니다. presto:default> select * from mydata; Query 20200912_072348_00009_qqx96, FAILED, 1 node Splits: 1 total, 0 done (0.00%) 0:03 [0 rows, 0B] [0 rows/s, 0B/s] Query 20200912_072348_00009_qqx96 failed: The provided token is malformed or otherwise invalid. (Service: Amazon S3; Status Code: 400; Error Code: InvalidToken; Request ID: 811359ED1D9F8250)

간략한 설명

이전 Amazon EMR 릴리스 버전에서는 Presto가 S3 버킷이 있는 리전을 자동으로 사용하지 않습니다. 이 오류를 해결하려면 다음 옵션 중 하나를 사용합니다.

  • Amazon EMR 릴리스 버전 5.12.0 이상으로 업그레이드합니다.
  • Amazon EMR 릴리스 버전 5.11.x 이하를 사용하려면 hive.s3.pin-client-to-current-region 속성을 true로 설정합니다.

해결 방법

Amazon EMR 릴리스 버전 5.12.0 이상으로 업그레이드

새 클러스터를 시작하고 Amazon EMR 릴리스 버전 5.12.0 이상을 선택합니다. 자세한 정보는 Amazon EMR 릴리스 정보를 참조하세요.

hive.s3.pin-client-to-current-region 속성을 true로 설정(버전 5.11.x 이하)

1.    각 노드에서 hive.properties 파일을 열고 hive.s3.pin-client-to-current-region 속성을 true로 설정합니다. 예:

sudo vim /etc/presto/conf/catalog/hive.properties
hive.s3.connect-timeout=2m
hive.s3.max-backoff-time=10m
...
hive.s3.pin-client-to-current-region=true

2.    각 노드에서 Presto를 다시 시작합니다.

sudo restart presto-server

3.    새 구성이 예상대로 작동하는지 확인하려면 중국(베이징) 리전에서 Hive 및 Presto를 사용하여 테이블을 쿼리합니다.


관련 정보

Apache Hive

Presto 및 Trino

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음