1

2 つのノードからなる小さなクラスターを起動しましたが、スレーブがすべての作業を行っている間、マスターは完全にアイドル状態のままであることに気付きました。マスターにいくつかのタスクを実行させる方法は何だろうと思っていました。大規模なクラスターでは専用のマスターが必要になる可能性があることは理解していますが、2 ノードのクラスターではやり過ぎのようです。

ヒントをありがとう、

ヴァーツラフ

詳細:

2 つのボックスにはそれぞれ 2 つの CPU があります。クラスターは Amazon Elastic MapReduce でセットアップされていますが、コマンドラインから Hadoop を実行しています。

試したばかりのクラスターには次のものがあります。

Hadoop 0.18
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)


hadoop jar /home/hadoop/contrib/streaming/hadoop-0.18-streaming.jar  \
            -jobconf mapred.job.name=map_data \
            -file /path/map.pl                     \
            -mapper  "map.pl x aaa"                                     \
            -reducer NONE                                     \
            -input   /data/part-*                                         \
            -output  /data/temp/mapped-data                                    \
            -jobconf mapred.output.compress=true

入力は 18 個のファイルで構成されます。

4

3 に答える 3

0

hadoop-users リストの Steve Loughran は、マスター上で tasktracker を起動すればうまくいくと提案しました。

$ bin/hadoop-daemon.sh start tasktracker

うまくいくようです。このタスクトラッカーのスロット数を調整したい場合があります。

于 2010-09-14T14:27:54.403 に答える
0

Hadoop 0.18 では異なる場合がありますが、マスターの IP アドレスを conf/slaves ファイルに追加してから、クラスターを再起動してみてください。

于 2010-09-14T15:50:23.397 に答える
0

実際には、hadoop マスターは作業 (実行するタスク) を行っているわけではありません。マスターが実行されている同じマシンで datanode と tasktracker を開始できます。

于 2010-09-14T12:07:53.290 に答える