我在嘗試使用由Google提供的Wordcount示例。當我從本地機器運行它時,它正在成功運行。數據流在g1小型實例上出現java.io.IOException失敗
但是當我通過谷歌雲中運行它,它失敗,出現以下異常,
java.io.IOException: INTERNAL: Finalize rejected (writer id not found) when talking to tcp://localhost:12345
異常尚不清楚爲好。
我發現這種情況發生在任何作業是部分運行並且之後的作業未運行時。
所以,當我刪除了Sum.Perkey改造它已成功運行。
像下面那樣。
編輯1
日誌說以下
Jun 23, 2015, 5:21:27 PM
(306b526c890d6a9e): java.io.IOException: INTERNAL: Finalize rejected (writer id not found) when talking to tcp://localhost:12345 at com.google.cloud.dataflow.sdk.runners.worker.ApplianceShuffleWriter.close(Native Method) at
com.google.cloud.dataflow.sdk.runners.worker.ChunkingShuffleEntryWriter.close(ChunkingShuffleEntryWriter.java:66) at
com.google.cloud.dataflow.sdk.runners.worker.ShuffleSink$ShuffleSinkWriter.close(ShuffleSink.java:232) 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:74) at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.doWork(DataflowWorker.java:130) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.getAndPerformWork(DataflowWorker.java:95) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:139) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:124) 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)
我的作業ID:2015-06-23_04_49_22-5338020413017331855
請幫我爲什麼發生這種情況。
對不起這個問題。爲了幫助我們進行調查,您是否可以編輯問題以包含失敗管道的完整輸出,包括作業ID? – jkff
你能告訴我你指什麼完整的輸出?這是它失敗時的例外嗎? –
是的,我的意思是主程序輸出到控制檯,例如像這裏:http://stackoverflow.com/questions/28872174/using-cloud-dataflow-side-input-works-locally-but-not-when-executing-in-the-c – jkff