0

Hadoop の実装に CentOS を使用しています。OS を起動すると、デフォルトでは Hadoop が Safemode で起動します。「セーフモード」から削除し、データを HDFS に PUT しようとすると、使用可能な名前ノードが 0 になります。「OSの再起動」で問題が解決するという人もいました。この問題から抜け出す方法はありますか..

4

1 に答える 1

0

私見、NNをセーフモードから強制的に終了させることは、あまり賢明な選択ではありません。この期間中、NameNode は fsimage と編集ログ ファイルからファイル システムの状態を読み込みます。通常、セーフ モードで費やされる時間は通常、クラスターのサイズまたはデータのサイズに比例します。

現在の構成に満足できない場合は、dfs.safemode.threshold.pctを使用して NN セーフモードの動作を変更できます。NN は、特定のパーセンテージのブロックが存在し、このプロパティによって表されるまで待機します。このしきい値に達すると、セーフモードは自動的に終了します。NN をセーフモードからすばやく解放したい場合は、より小さな値を選択できます。

そうは言っても、セーフモードが長引く場合は、いくつかのことを確認して、すべてが正常に動作していることを確認できます。

  • すべてのデータ ノードが正常に起動しています。
  • チェックインする必要があるデータ ノードの数を処理するのに十分な名前ノード スレッドがあります。これはdfs.namenode.handler.countで処理できます。

HTH

于 2013-09-16T12:11:23.407 に答える