2016-02-19 5 views
2

Некоторые из наших задач Dataflow случайным образом разбиваются при чтении исходных файлов данных.Неудачные задания Google Cloud Dataflow (ошибки ввода-вывода)

Следующая ошибка записывается в журнал заданий (нет ничего в рабочих журналах):

11 févr. 2016 à 08:30:54 
(33b59f945cff28ab): Workflow failed. 
Causes: (fecf7537c059fece): S02:read-edn-file2/TextIO.Read+read-edn-file2  
/ParDo(ff19274a)+ParDo(ff19274a)5+ParDo(ff19274a)6+RemoveDuplicates 
/CreateIndex+RemoveDuplicates/Combine.PerKey 
/GroupByKey+RemoveDuplicates/Combine.PerKey/Combine.GroupedValues 
/Partial+RemoveDuplicates/Combine.PerKey/GroupByKey/Reify+RemoveDuplicates 
/Combine.PerKey/GroupByKey/Write faile 

Мы также получаем такого рода ошибки иногда (регистрируется в рабочих журналах):

2016-02-15T10:27:41.024Z: Basic: S18: (43c8777b75bc373e): Executing operation group-by2/GroupByKey/Read+group-by2/GroupByKey/GroupByWindow+ParDo(ff19274a)19+ParDo(ff19274a)20+ParDo(ff19274a)21+write-edn-file3/ParDo(ff19274a)+write-bq-table-from-clj3/ParDo(ff19274a)+write-bq-table-from-clj3/BigQueryIO.Write+write-edn-file3/TextIO.Write 
2016-02-15T10:28:03.994Z: Error: (af73c53187b7243a): java.io.IOException: com.google.api.client.googleapis.json.GoogleJsonResponseException: 410 Gone 
{ 
"code" : 503, 
"errors" : [ { 
    "domain" : "global", 
    "message" : "Backend Error", 
    "reason" : "backendError" 
} ], 
"message" : "Backend Error" 
} 
    at com.google.cloud.hadoop.util.AbstractGoogleAsyncWriteChannel.waitForCompletionAndThrowIfUploadFailed(AbstractGoogleAsyncWriteChannel.java:431) 
    at com.google.cloud.hadoop.util.AbstractGoogleAsyncWriteChannel.close(AbstractGoogleAsyncWriteChannel.java:289) 
    at com.google.cloud.dataflow.sdk.runners.worker.TextSink$TextFileWriter.close(TextSink.java:243) 
    at com.google.cloud.dataflow.sdk.util.common.worker.WriteOperation.finish(WriteOperation.java:100) 
    at com.google.cloud.dataflow.sdk.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:77) 
    at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.executeWork(DataflowWorker.java:254) 
    at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.doWork(DataflowWorker.java:191) 
    at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.getAndPerformWork(DataflowWorker.java:144) 
    at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.doWork(DataflowWorkerHarness.java:180) 
    at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:161) 
    at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:148) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Файлы исходных данных хранятся в облачной хранилище Google.

Пути данных верны, и работа обычно работает после ее возобновления. Мы не испытывали эту проблему до конца января.

Работа запускается с этими параметрами: --tempLocation = 'gstoragelocation' --stagingLocation = 'другого gstorage место' --runner = BlockingDataflowPipelineRunner --numWorkers = 'несколько десятков' --zone = Европа-west1- d

версия SDK: 1.3.0

Благодаря

+0

Извините за беспокойство. В настоящее время мы изучаем эти и подобные проблемы с командой Google Cloud Storage. Не могли бы вы предоставить пример неудавшегося идентификатора задания? – jkff

+0

Вопрос, поставленный первой работой по 2/10, должен быть исправлен на этой неделе. Пожалуйста, сообщите нам, если вы снова это увидите. Вызывает ли ошибка второго типа выполнение задания или он достаточно кратковременен, чтобы узлы успешно выполняли повторы? – Frances

+0

Спасибо за ваш ответ. Сегодня утром одна из наших рабочих мест провалилась: 2016-02-21_23_00_17-5627071082821060268. Ошибка приводит к сбою задания, даже если есть повторы, но обычно это удается, если задание перезапускается вручную (для первого и второго типов ошибок). – Pierre

ответ

1

Как ясно отмеченное "ошибка серверной", то это должно быть сообщено на любом трекере облако Dataflow Public Issue] (Google-облако потоков данных) или более общий Cloud Platform Public Issue Tracker, и относительно мало кто из них переполняет стекирование помогите вам отладить это.

+1

Я не могу говорить с другими типами проблем, но для проблем с потоками данных тег google-cloud-dataflow является хорошим местом для сообщения о вещах, поскольку он активно контролируется членами команды Dataflow (например, jkff и я). – Frances

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