3

hdfs:///home/bryan/test_file/Spark ジョブを Dataproc クラスタに送信して、HDFS ディレクトリに書き込もうとしています。

名前ノードがセーフ モードであるというエラーが表示されます。セーフ モードを解除する解決策はありますが、これは別の理由で発生している可能性があるのではないかと心配しています。

Dataproc クラスタがセーフモードになっているのはなぜですか?

ERROR org.apache.spark.streaming.scheduler.JobScheduler: Error running job streaming job 1443726448000 ms.0
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /home/bryan/test_file/_temporary/0. Name node is in safe mode.
The reported blocks 125876 needs additional 3093 blocks to reach the threshold 0.9990 of total blocks 129098.
The number of live datanodes 2 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached.
4

2 に答える 2

3

セーフモードとは

どのブロックがオンラインであるかをデータノードが報告するまで、NameNode はセーフモードになります。これは、(実際には) 十分な (しかし報告されていない) 複製がある場合でも、NameNode がブロックの複製を開始しないようにするために行われます。

なぜこれが起こったのか

通常、これは、説明したように Dataproc クラスタでは発生しません。この場合、クラスター内の仮想マシンが適切にオンラインにならなかったか、問題 (ネットワークなど) が発生したため、クラスターがセーフ モードを終了しなかったと思われます。悪いニュースは、これはクラスターが悪い状態にあることを意味します。Dataproc クラスタはすぐに開始できるため、クラスタを削除して新しいクラスタを作成することをおすすめします。幸いなことに、これらのエラーは非常にまれです。

于 2015-10-05T18:14:03.547 に答える