2016-12-12 2 views
0

Когда я создаю кластер Compute с использованием Dataproc от Google, если имя кластера является «MyCluster» в проекте «MyProject-107701», тогда основной кластер распознается внутри «mycluster-mcmyproject-107701.internal» (не уверен, где «.c» происходит, но это то, что видно из использования nslookup). Выполнение nslookup на «mycluster-m» показывает внутренний ip, но не внешний ip.Как запрограммировать внешний IP-адрес кластера Google, созданного с помощью Dataproc?

Я вижу внешний идентификатор на странице виртуальных машин консоли. Тем не менее, я не уверен, как получить это программно (используя Java - не хватающий html-страницы).

Я хочу, чтобы создать кластер, вернуть ip-адрес во внешний процесс, который затем будет подключаться, но не хочет подключаться с помощью gsutil. Как мне это сделать? Возможно ли получить внешний IP-адрес через API-интерфейсы Dataproc?

ответ

1

Это возможно благодаря сочетанию двух API. Первый вызов - это API Dataproc для получения окончательного списка основных узлов для кластера. Это можно сделать с помощью clusters.get и извлечения имени ведущего узла из cluster.config.masterConfig.instanceNames.

Как только у вас есть имя экземпляра главного имени, вы можете использовать API вычислительного двигателя для get the GCE Instance и из экземпляра GCE вы можете извлечь networkInterfaces[0].accessConfig.natIP.

+0

Спасибо, Ангус. Как бы то ни было, есть ли соответствующая java-библиотека для этого вызова? Код ссылки на страницы, который вызывает новый Compute.Builder. Я бы подумал, что нашел этот метод здесь: https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/google-cloud-compute/src/main/java/com/google/cloud/compute /Compute.java, но я этого не видел. Является ли это правой java-библиотекой? (возможно, я что-то упустил, или некоторые из них устарели?) –

+0

Compute.Builder - это ссылка на автоматически созданные библиотеки, доступные из maven central (compute): http://search.maven.org/#artifactdetails% 7Ccom.google.apis% 7Cgoogle-api-services-compute% 7Cv1-rev131-1.22.0% 7Cjar и dataproc: http://search.maven.org/#artifactdetails%7Ccom.google.apis%7Cgoogle-api-services -dataproc% 7Cv1-rev10-1.22.0% 7Cjar –

+0

Хорошо, я использовал библиотеку из github, на которую я ссылался ранее. Код может несколько отличаться от документов, представленных на странице, но, похоже, функциональность такая же. У меня проблема блокировки, которая не связана, поэтому я еще не могу подтвердить свое исправление, но когда я это сделаю, если это сработает, я помечаю этот ответ как принятый. –

 Смежные вопросы

  • Нет связанных вопросов^_^