1

Amazon EC2 でクラスターを実行しています。Hadoop のセットアップに cloudera スクリプトを使用しています。マスターノードで、以下のサービスを開始します。

609   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start namenode'
610   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start secondarynamenode'
611   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start jobtracker'
612 
613   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop dfsadmin -safemode wait'

スレーブ マシンでは、以下のサービスを実行します。

625   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start datanode'
626   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start tasktracker'

私たちが直面している主な問題は、hdfs セーフモードの回復に 1 時間以上かかることであり、これが原因でジョブの完了が遅れています。

以下は、主なログ メッセージです。

1. domU-12-31-39-0A-34-61.compute-1.internal 10/05/05 20:44:19 INFO ipc.Client: Retrying connect to server: ec2-184-73-64-64.compute-1.amazonaws.com/10.192.11.240:8020. Already tried 21 time(s).
2. The reported blocks 283634 needs additional 322258 blocks to reach the threshold 0.9990 of total blocks 606499. Safe mode will be turned off automatically.

ジョブ トラッカーが開始されていないため、タスク トラッカー ログに最初のメッセージがスローされます。hdfs セーフモード リカバリのため、ジョブ トラッカーが起動しませんでした。

2 番目のメッセージは、回復プロセス中にスローされます。

私が間違っていることはありますか?通常の hdfs セーフモード リカバリにはどのくらいの時間がかかりますか? ジョブ トラッカーが開始されるまでタスク トラッカーを開始しないことで、スピードアップはありますか? Amazon クラスターに既知の Hadoop の問題はありますか?

ご協力いただきありがとうございます。

4

1 に答える 1

1

通常、セーフ モードで費やされる時間は、クラスターのサイズに比例します。とはいえ、通常の時間は数時間ではなく、せいぜい数分のオーダーです。確認すべき点がいくつかあります。

  1. すべてのデータ ノードが正しく起動していることを確認します。データ ノードが多数のブロックを報告するのに数秒または数分かかるのは正常です。データ ノード ログをチェックして、起動中に何が起こっているかを確認します。
  2. チェックインするデータ ノードの数を処理できるように、十分な数の名前ノード スレッド (hdfs-site.xml の dfs.namenode.handler.count) があることを確認します。デフォルトは 10 で、クラスターには問題ありません。最大 20 ノード程度。それを超えて、これを増やすことは理にかなっているかもしれません。これを示す再試行がデータ ノード ログに記録される場合があります。これは、再試行メッセージが私に示しているようです (たとえば、21 回再試行します)。

お役に立てれば。

于 2010-07-11T05:23:02.560 に答える