Не могу запустить DataLab в Google DataProc через некоторое время - PullRequest
1 голос
/ 05 апреля 2019

Я создал кластер на DataProc с установленным Datalab. Я использовал следующие команды для доступа к dataLab:

export ZONE=us-central1-b;export CLUSTER_NAME=test;

gcloud compute ssh ${CLUSTER_NAME}-m --zone=${ZONE} --ssh-flag='-D 10001' --ssh-flag='-N' --ssh-flag='-n'

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
"http://${CLUSTER_NAME}-m:8080" \
--proxy-server='socks5://localhost:10001' \
--host-resolver-rules='MAP * 0.0.0.0 , EXCLUDE localhost' \
--user-data-dir='/tmp'

И это работает некоторое время. Я ничего не изменил, но через 2-3 часа я выполнил те же команды, что и выше, я не могу снова получить доступ к dataLab и получаю следующую ошибку:

ERROR: (gcloud.compute.ssh) Instance [test-m] in zone [us-central1-b] has not been allocated an external IP address yet. Try rerunning this command later.

Я пытался много раз позже и никогда не смог добиться успеха с первой ошибки. Это происходит с каждым кластером, который я создал (т.е. через некоторое время не могу получить доступ к dataLab кластера). Может кто-нибудь помочь мне с этим? Спасибо.

1 Ответ

1 голос
/ 06 апреля 2019

Предполагая, что при запуске экземпляра не только в узком временном интервале, когда адрес еще не выделен, во время выполнения вам не нужно беспокоиться о том, что внешний IP-адрес освобождается, так что, скорее всего, это ложная ошибка.

Обычно это происходит ошибочно, когда экземпляр находится в состоянии TERMINATED.Это в отличие от случаев, когда вы вообще не используете внешний IP, в противном случае вы получите сообщение типа Instance [foo] in zone [bar] does not have an external IP address.Это связано с тем, что в экземпляре TERMINATED нет активного ресурса виртуальной машины, но метаданные конфигурации должны по-прежнему содержать конфигурацию networkInterface для сохранения полных метаданных конфигурации экземпляра, а логика gcloud compute в настоящее время предполагает, что если networkInterfaces.accessConfigsопределено, что ожидается, что оно «в конечном итоге» будет иметь поле natIP.

Убедитесь, что кто-то не нажимал STOP на вашей виртуальной машине, пока вас не было.Запуск резервной копии виртуальной машины должен заставить ее работать снова.

...