2016-01-21 6 views
0

J'ai un service Hive s'exécutant sur un cluster Hadoop. J'essaye de créer une table de Hive au-dessus des données d'Eucalyptus (RIAK CS) S3. J'ai configuré AccessKeyID et SecretAccessKey dans core-site.xml et hive-site.xml. Lorsque j'exécute la commande Créer table et indiquez l'emplacement S3 en utilisant le schéma de S3N, je reçois l'erreur suivante:Hive Créer une table sur S3 dans RIAK CS

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:org.apache.http.conn.ConnectTimeoutException: Connect to my-bucket.s3.amazonaws.com:443 timed out)

Si j'essayer d'utiliser le schéma S3A, je reçois l'erreur suivante:

FAILED: AmazonClientException Unable to load AWS credentials from any providern the chain

Je pourrais changer l'URL de point de terminaison pour la commande de distcp en utilisant jets3t, mais la même chose n'a pas fonctionné pour Hive. Toutes les suggestions pour pointer Hive à Eucalyptus S3 point final sont les bienvenus.

+0

Est-il possible de connecter Riak CS par des outils de ligne de commande plus simples, par ex. s3cmd ou s3curl? – shino

+0

Oui, je suis capable de me connecter en utilisant s3cmd. – Veronica

+0

Encore quelques questions. - Avez-vous utilisé https dans s3cmd aussi? - Pouvez-vous essayer de connecter http simple au lieu de https dans la connexion riak cs? - Utilisez-vous un proxy pour vous connecter à riak cs? - Pouvez-vous confirmer que le client essaie réellement de se connecter à * votre * serveur riak cs? - Y a-t-il des lignes dans le journal riak cs qui indiquent des erreurs? – shino

Répondre

0

Je ne suis pas familier avec Hive, mais aussi longtemps que j'entends qu'il utilise MapReduce comme système de traitement backend. MapReduce utilise jets3t en tant que connecteur S3 - changer sa configuration a fonctionné pour moi dans MapReduce et Spark. Espérons que cela aide: http://qiita.com/kuenishi/items/71b3cda9bbd1a0bc4f9e

Configurations comme

s3service.https-only=false

s3service.s3-endpoint=yourdomain.com

s3service.s3-endpoint-http-port=8080

s3service.s3-endpoint-https-port=8080

travaillerait pour vous?

+0

J'ai essayé de définir jets3t.properties avec les configurations mentionnées, mais le client Hive pointe toujours vers s3.amazonaws.com – Veronica

0

J'ai mis à niveau vers HDP2.3 (Hadoop 2.7) et maintenant je suis en mesure de configurer le schéma s3a pour l'accès Hive à S3.