3

Hadoop クラスターをいじるのは初めてなので、まったくの初心者です。

各コンピューターに 5 x 2 TB のハード ドライブを備えた 3 ノードの小さなクラスターがあります。全員が Ubuntu を実行しており、ハードウェア仕様は同じで、Apache Hadoop 1.0.4 を使用しています。ハードディスクは、それぞれのコンピューターで /media/diskb、/media/diskc、/media/diskd などとしてマウントされ、JBOD として構成されます。

3 台のコンピューターはすべてデータ ノードとタスク トラッカーとして機能し、1 台はマスター ネーム ノードとセカンダリ ネーム ノード、2 台目はジョブ トラッカー、3 台目は純粋なスレーブ (DT/TT) ノードです。

各コンピューターのhdfs-site.xmlファイルに、値としてスペースを入れずにコンマ区切りでマウント ポイントをリストしました。

<property>
 <name>dfs.datanode.data.dir</name>
 <value>/data/dfs/data,/media/diskb/data/dfs/data,/media/diskc/data/dfs/data,..</value>
</property>

名前ノードの場合:

<property>
 <name>dfs.namenode.name.dir</name>
 <value>/data/dfs/name,/media/diskb/data/dfs/name,/media/diskc/data/dfs/name,..</value>
</property>

mapred-site.xml で:

<property>
 <name>mapred.local.dir</name>
 <value>/data/mapred/local,/media/diskb/data/mapred/local,/media/diskc/data/mapred/local,...</value>
</property>

また、core-site.xmlで

<property>
 <name>hadoop.tmp.dir</name>
 <value>/media/diskb/data</value>
</property>

(アクセス許可などを確認するために一時ディレクトリを一度にディスクに割り当てるように変更してみましたが、Hadoop は正常に動作します)

ディレクトリのマウントと所有権のアクセス許可は、Hadoop ユーザー アカウントに対して完全です。map/reduce プログラムを実行すると、Hadoop が各ノードの追加ディスク内にmapred/localディレクトリの下にリソース フォルダーを作成するのを確認できますが、データ ノード ディレクトリと構成された容量については同じことが報告されません。管理ページ (namenode:50070) は 5.36 TB (ノードごとに 1.78 TB) にあります。

Hadoop がすべてのハードディスクを使用していないのはなぜですか? 合計容量が 26.7 TB になるはずです。

また、各ノードで 1 つのディスクを使用する場合と比較して、すべてのディスクを使用して Map/Reduce ジョブを実行してもパフォーマンスの向上は見られません。私は何を期待すべきですか?

ありがとうございました!

4

1 に答える 1

2

わかりました、本当に簡単な答え: dfs.namenode.name.dirdfs.name.dir であり、dfs.datanode.data.dirはdfs.data.dirである必要があります

それら (dfs.name.dir, dfs.data.dir) は非推奨だと思っていましたが、どうやらそうではないようです。そのため、Hadoop は core-site.xml で設定したデフォルトで動作していたため、3 つのドライブのみが使用されていました。

于 2013-02-06T04:32:13.850 に答える