Я использую Terraform для создания кластера dataproc, который использует экземпляр GCP cloudsql в качестве hivemetastore, проект terrafrm создает кластер и все его предпосылки (сеть, учетная запись службы, экземпляр cloudsql и пользователь и т. Д.).
cloud-sql-proxy.sh
предоставляется, чтобы помочь с этим, однако я не могу заставить его работать, когда кластер создается cloud-sql-proxy.sh
не удается с ошибкой:
nc: подключиться к localhostпорт 3306 (tcp) не удалось: соединение отклонено
Я ударился головой о стену, пытаясь понять, почему, но не могу докопаться до ее основания, поэтому надеюсь, что кто-то здесь может помочь.
Я разместил проект terraform на https://github.com/jamiekt/democratising-dataproc. Воспроизвести проблему очень просто, выполните следующие действия:
- Установите terraform , если выеще не
- Установите
gcloud
, если вы еще не - Создайте новый проект GCP
- Включите Cloud Dataproc API для вашегоновый проект
gcloud auth application-default login #creates a file containing credentials that terraform will use
git clone git@github.com:jamiekt/democratising-dataproc.git && cd democratising-dataproc
export GCP_PROJECT=name-of-project-you-just-created
make init
make apply
Это должно успешно раскрутить сеть, подсеть, экземпляр cloudql, пару блоков хранения (одно из которых содержит cloud-sql-proxy.sh), учетную запись службы, брандмауэр, а затем произойдет сбой при попытке создатькластер dataproc.
если бы кто-нибудь мог взглянуть и сказать мне, почему это не помогло, я был бы очень благодарен.