Почему мой конвейер GCP Dataflow не может создавать виртуальные машины?

Я не вижу в сообщении об ошибке ничего, что указывало бы на то, почему он не может создать виртуальные машины. Приведенное ниже сообщение об ошибке было обнаружено в веб-консоли DataFlow на вкладке «Журналы». Я нигде не мог найти более подробной информации или каких-либо других ошибок.

23 марта 2016 г., 13:07:09 (d408c858b9bd6602): сбой рабочего процесса. Причины: (7bc822caf77dd216): невозможно создать виртуальные машины.

У нас нет сети "по умолчанию", но мы передаем --network = ourcustomnetworkname

Cloud SDK версии 102.0.0 и следующее в моем POM:

<repositories>
  <repository>
<!-- Added to pull in latest build that supports subnetworks -->
  <id>sonatype-staging</id>
  <url>https://oss.sonatype.org/content/groups/staging/</url>
 </repository>

<dependencies>
    <dependency>
        <groupId>com.google.cloud.dataflow</groupId>
        <artifactId>google-cloud-dataflow-java-sdk-all</artifactId>
        <version>[1.0.0, 2.0.0)</version>
    </dependency>

person successhawk    schedule 23.03.2016    source источник
comment
Вы тоже передаете кастомный --subnetwork?   -  person Ben Chambers    schedule 24.03.2016
comment
В частности, если вы передаете подсеть, обратите внимание, что ожидаемый формат описан здесь как zones/ZONE/subnetworks/SUBNETWORK.   -  person Ben Chambers    schedule 24.03.2016
comment
@Ben Chambers Да --subnetwork = zone / us-east1-b / subnetworks / edw-dev Я заметил в исходном коде, на который вы ссылались, что он не указывает формат для сетевого параметра. Вы знаете, в каком формате должен быть сетевой параметр? Кроме того, моя самая большая жалоба заключается в том, что я не вижу никаких полезных сообщений об ошибках в журналах. Например, если я не передаю правильный формат, почему не говорится о неправильном формате или, по крайней мере, подсеть не найдена?   -  person successhawk    schedule 25.03.2016
comment
Я думаю, что это должно сработать, если вы укажете сеть только как имя сети (например, --network = yournetwork) и подсеть, используя --subnetwork=zones/us-east1-b/subnetworks/edw-dev, который вы описали. Что касается сообщений об ошибках, мы выясняем, почему они не появляются, и предоставляем более полезные сообщения.   -  person Ben Chambers    schedule 25.03.2016
comment
@BenChambers, мы пробовали это, и это тоже не работает. Та же ошибка.   -  person successhawk    schedule 25.03.2016
comment
Была ли зона (us-east1-b), которую вы использовали для подсети, той же зоной, в которой работали экземпляры GCE?   -  person Ben Chambers    schedule 25.03.2016
comment
@BenChambers Понятия не имею. Как мне сказать? Ошибка говорит о том, что не удалось создать виртуальные машины. Не знаю, где их пытались создать.   -  person successhawk    schedule 25.03.2016
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Ben Chambers    schedule 25.03.2016
comment
В моем случае он работает с настройкой подсети, например, Только регионы / us-central1 / subnetworks / dataflow-us-central1.   -  person Jack    schedule 27.09.2017


Ответы (1)


Сеть необходимо указать как полный URL-адрес ресурса, например https://www.googleapis.com/compute/latest/projects/PROJECT_ID/global/networks/ourcustomnetworkname.

Вы можете найти это, запустив gcloud compute networks describe ourcustomnetworkname и используя отображаемый там selfLink.

person Ben Chambers    schedule 23.03.2016
comment
Я получаю ту же ошибку, если добавляю параметр сети как ссылку на себя или добавляю значение мусора. Я также попытался передать ссылку на себя для параметра подсети с теми же результатами. Где вы нашли информацию о том, что значением параметра сети должна быть ссылка на себя? Я не видел его в интерактивных документах cloud.google.com/dataflow/pipelines / Specying-exec-params или API cloud.google.com/dataflow/java-sdk/JavaDoc/com/google/cloud/ - person successhawk; 24.03.2016