2016-10-28 3 views
0

私は、Virtualbox上に3つのスレーブを持つSparkスタンドアロンクラスタを持っています。私のコードはJava上にあり、私の小さな入力データセットではうまく働いています。その入力は100MBほどです。Apache Spark:TaskResultLost(ブロックマネージャからの結果が失われました)エラークラスタのエラー

私は16ギガバイトであることを私の仮想マシンのRAMを設定するが、私は(2GB程度)大きな入力ファイルの私のコードをrunnigたとき、私は私の部分を減らすの処理時間後にこのエラーが出る:

Job aborted due to stage failure: Total size of serialized results of 4 tasks (4.3GB) is bigger than spark.driver.maxResultSize` 

私が編集しましたspark-defaults.confとなり、spark.driver.maxResultSizeにはより多くの容量(2GBと4GB)が割り当てられます。それは助けにならず、同じエラーが現れました。

いいえ私はspark.driver.maxResultSizeの8GBを試しており、私のspark.driver.memoryもRAMサイズ(16GB)と同じです。しかし、私はこのエラーを受け取ります:

TaskResultLost (result lost from block manager) 

これに関するコメント?私はイメージも含んでいます。

問題が大きなサイズ(maxResultSize)で発生しているのか、それともコード内にRDDのコレクションがあるのか​​分かりません。私はまた、より良い理解のためにコードのマッパー部分を提供します。一般に

enter image description here

JavaRDD<Boolean[][][]> fragPQ = uData.map(new Function<String, Boolean[][][]>() { 
     public Boolean[][][] call(String s) { 
      Boolean[][][] PQArr = new Boolean[2][][]; 
      PQArr[0] = new Boolean[11000][]; 
      PQArr[1] = new Boolean[11000][]; 
      for (int i = 0; i < 11000; i++) { 
       PQArr[0][i] = new Boolean[11000]; 
       PQArr[1][i] = new Boolean[11000]; 
       for (int j = 0; j < 11000; j++) { 
        PQArr[0][i][j] = true; 
        PQArr[1][i][j] = true; 

答えて

2

は解決:

マスターRAMサイズを増やすことで解決される問題を。私は自分のケースを研究し、私の設計に基づいて32GBのRAMを割り当てることで十分であることを見出しました。今よりも、私のプログラムは正常に動作しており、すべてを正しく計算しています。

+0

同様の問題(https://stackoverflow.com/questions/48455547/apache-spark2-0-taskresultlost-result-lost-from-block-manager?noredirect=1#comment83908776_48455547)に直面していましたが、ドライバメモリを変更しましたか? – user3407267

2

、このエラーは、運転者に大量のデータをもたらし/収集していることを示しています。これは決して行われるべきではありません。アプリケーションロジックを再考する必要があります。

また、プロパティを設定するためにspark-defaults.confを変更する必要はありません。代わりに、--confオプションを使用してspark-shellまたは​​というようなアプリケーション固有のプロパティを指定することができます(ジョブの実行方法によって異なります)。

+0

あなたの答えをありがとう。運転手は重要な仕事をするべきではないでしょうか? WebUIはちょうど数秒で完了するわずか2秒の作業を示しています。これは、作業者全員が実行している削減部分であり、データを取得する場所と方法は不明です。マッピングプロセスの兆候はなく、完了した時点でモニタリングが非常に混乱する理由です。 – Payf1

関連する問題