J'utilise Terraform pour créer un cluster dataproc qui utilise une instance de cloudsql GCP comme hivemetastore, le projet terrafrm crée le cluster et tous ses prérequis (réseau, compte de service, instance et utilisateur de cloudsql, etc.).
cloud-sql-proxy.sh code>
est fourni pour vous aider, mais je ne peux pas le faire fonctionner, lorsque le cluster est créé cloud-sql-proxy.sh
échoue avec une erreur:
nc: échec de la connexion au port localhost 3306 (tcp): connexion refusée
Je me suis cogné la tête contre le mur en essayant de comprendre pourquoi mais je ne peux pas aller au fond des choses alors j'espère que quelqu'un ici pourra vous aider.
J'ai hébergé le projet terraform à l'adresse https://github.com/jamiekt/democratising-dataproc . Reproduire le problème est très simple, suivez ces étapes:
gcloud
si vous ne l'avez pas déjà fait gcloud auth application-default login # crée un fichier contenant les informations d'identification que terraform utilisera
git clone git@github.com: jamiekt / démocratizing-dataproc.git && cd démocratizing-dataproc
export GCP_PROJECT = nom-du-projet-que-vous-venez-de-créer
make init
faire appliquer
Cela devrait réussir à démarrer un réseau, un sous-réseau, une instance de cloudsql, quelques compartiments de stockage (l'un d'eux contenant cloud-sql-proxy.sh), un compte de service, un pare-feu puis échouer lors de la tentative de création du cluster dataproc .
si quelqu'un pouvait jeter un coup d'œil et me dire pourquoi cela échoue, je serais très reconnaissant.
3 Réponses :
Il semble que vous n'utilisez pas la dernière version de cloud-sql-proxy.sh script dans le cloud-sql-proxy.sh.tmpl modèle ( diff ).
Vous pouvez essayer de mettre à jour votre modèle avec la dernière version de script de Dataproc Action d'initialisation Cloud SQL I / O et Hive Metastore .
Il y avait un certain nombre de problèmes ici qui ont maintenant été résolus:
ruche.métier: ruche.service: ruche.service. / code> paramètre nécessaire à la propriété
host = '%'
) L'état état du dépôt au moment de la publication de ce message fonctionner comme prévu (c'est-à-dire créer, en utilisant Terraform, un cluster dataproc qui utilise un métastore de ruche partagé).
Merci @ igor-dvorzhak pour vos réponses, votre lien vers l'article sur la configuration de Hive Metastore pour utiliser Cloud SQL m'a mis sur la bonne voie.
J'ai exactement le même problème en suivant le tutoriel de ici
Je ne vois pas quel est le correctif que vous donnez. Il semble que la ruche essaie d'accéder à la base de données via localhost, je ne comprends pas pourquoi Voici le journal de dataproc:
Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install disable mysql Removed /etc/systemd/system/multi-user.target.wants/mysql.service. 2020-10-07 14:05:49 URL:https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 [16361206/16361206] -> "cloud_sql_proxy.linux.amd64" [1] Created symlink /etc/systemd/system/multi-user.target.wants/cloud-sql-proxy.service â /usr/lib/systemd/system/cloud-sql-proxy.service. About to run 'nc -zv localhost 3306' with retries... nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 1 failed! Sleeping 1. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 2 failed! Sleeping 1. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 3 failed! Sleeping 2. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 4 failed! Sleeping 3. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 5 failed! Sleeping 5. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 6 failed! Sleeping 8. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 7 failed! Sleeping 13. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 8 failed! Sleeping 21. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 9 failed! Sleeping 34. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 10 failed! Sleeping 55. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 11 failed! Sleeping 89. nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused 'nc -zv localhost 3306' attempt 12 failed! Sleeping 144. Final attempt of 'nc -zv localhost 3306'... nc: connect to localhost port 3306 (tcp) failed: Connection refused nc: connect to localhost port 3306 (tcp) failed: Connection refused
Avez-vous essayé de suivre cet article pour savoir comment configurer Hive Metastore pour utiliser Cloud SQL sur Dataproc?
merci @IgorDvorzhak, vos réponses ont aidé. S'il vous plaît voir ma réponse.