Pour quelle raison est-ce que je reçois le message d'erreur suivant : «le jeton fourni est incorrect ou non valide» , lorsque je lance un cluster Amazon EMR en utilisant Hive et Presto dans la région AWS Chine (Beijing) ?

Lecture de 2 minute(s)
0

J'ai lancé un cluster Amazon EMR dans la région AWS Chine (Beijing) (cn-north-1). J'ai utilisé Presto et Apache Hive pour créer une table externe à partir d'un compartiment Amazon Simple Storage Service (Amazon S3). Quand j'interroge la table en utilisant Hive et Presto, j'obtiens une erreur similaire à celle-ci : presto:default> sélectionner* depuis mes données ; Requête 20200912_072348_00009_qqx96, ÉCHOUÉ, 1 nœud Séparations : 1 au total, 0 effectuées (0,00 %) 0:03 [0 lignes, 0B] [0 lignes/s, 0B/s] La requête 20200912_072348_00009_qqx96 a échoué : le jeton fourni est incorrect ou non valide. (Service : Amazon S3 ; code de statut : 400 ; code d'erreur : InvalidToken ; ID de demande : 811359ED1D9F8250)

Brève description

Dans les anciennes versions d'Amazon EMR, Presto n'utilise pas automatiquement la région dans laquelle se trouve le compartiment S3. Utilisez l'une des options suivantes pour résoudre l'erreur :

  • Effectuez une mise à niveau vers Amazon EMR version 5.12.0 ou ultérieure.
  • Quant à l'utilisation d'Amazon EMR version 5.11.x ou antérieure, définissez la propriété hive.s3.pin-client-to-current-region sur true.

Solution

Mise à niveau vers Amazon EMR version 5.12.0 ou ultérieure

Lancez un nouveau cluster et choisissez Amazon EMR version 5.12.0 ou ultérieure. Pour plus d'informations, consultez À propos des versions d'Amazon EMR.

Définissez la propriété hive.s3.pin-client-to-current-region sur true (version 5.11.x ou antérieure)

1.    Sur chaque nœud, ouvrez le fichier hive.properties, puis affectez à la propriété hive.s3.pin-client-to-current-region la valeur true. Exemple :

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.    Redémarrez Presto sur chaque nœud :

sudo restart presto-server

3.    Pour confirmer que la nouvelle configuration fonctionne comme prévu, recherchez une table en utilisant Hive et Presto dans la région Chine (Beijing).


Informations connexes

Apache Hive

Presto et Trino

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans