私は現在のバージョンのHadoopを使用しており、デフォルトのファイルシステムがHDFSの場合とデフォルトのファイルシステムの場合を比較するために、TestDFSIOベンチマーク(v.1.8) S3バケット(S3aで使用)です。YARNはどのようにいくつのコンテナを作成することにしますか? (S3aとHDFSの違いは何ですか?)
のS3aとして、デフォルトのファイルシステムと100×1メガバイトファイルを読むとき、私はYARNのWeb UIでの最大のコンテナの数はデフォルトとしてHDFSのためのケースよりも小さく、S3aをは程度4倍遅い観測。
のS3aとして、デフォルトのファイルシステムとファイル1000×10キロバイトを読んだとき、私はYARNのWeb UIでの最大のコンテナの数はデフォルトとしてHDFSのためのケースよりも少なくとも10倍以下である、とのS3aが観察約16倍遅い。 (例:HDFSデフォルトのテスト実行時間が50秒で、デフォルトのS3aを使用したテスト実行時間がの場合)
実行されたマップタスクの数は、どちらの場合も期待どおりですが、 。しかしなぜがYARNであるか少なくとも10倍少ないコンテナ数(HDFSでは117、S3aでは8)?クラスタのvcores、RAM、およびジョブの入力分割、および起動されたマップタスクがと同じである場合、YARNはコンテナの数をどのように作成するかを決定します。 ストレージバックエンドのみが異なるのですか?
同じTestDFSIOジョブを実行しているときに、HDFSとAmazon S3(S3a経由)のパフォーマンスの違いが予想されるのはもちろんですが、YARNが起動中の最大コンテナの数を決定する方法を理解しています現在デフォルトのファイルシステムがS3aの場合、YARNは並列性の90%をほとんど使用していない(これは通常、デフォルトのファイルシステムがHDFSの場合に行われる)ため、デフォルトのファイルシステムだけが変更されるジョブは、 。
クラスタは、1つのNameNode、1つのResourceManager(YARN)、および13のDataNodes(ワーカーノード)を持つ15ノードクラスタです。各ノードには128 GBのRAMと48コアのCPUが搭載されています。これは専用のテストクラスタです.TestDFSIOテストの実行中は、クラスタ上で何も実行されません。 HDFS、dfs.blocksize
について
は256m
であり、4台のHDD(dfs.datanode.data.dir
がfile:///mnt/hadoopData1,file:///mnt/hadoopData2,file:///mnt/hadoopData3,file:///mnt/hadoopData4
に設定されている)を使用します。
S3aの場合、fs.s3a.block.size
は268435456
に設定されます。これは256mで、HDFSのデフォルトブロックサイズと同じです。
Hadoopのtmpディレクトリは
性能差(デフォルトはHDFS、スイッチS3aに設定されたデフォルトに対して)以下に要約されている(core-site.xml
に/mnt/ssd1/tmp
にhadoop.tmp.dir
を設定し、またmapred-site.xml
に/mnt/ssd1/mapred/local
にmapreduce.cluster.local.dir
を設定することによって)SSD上にあります:
TestDFSIO v. 1.8 (READ)
fs.default.name # of Files x Size of File Launched Map Tasks Max # of containers observed in YARN Web UI Test exec time sec
============================= ========================= ================== =========================================== ==================
hdfs://hadoop1:9000 100 x 1 MB 100 117 19
hdfs://hadoop1:9000 1000 x 10 KB 1000 117 56
s3a://emre-hadoop-test-bucket 100 x 1 MB 100 60 78
s3a://emre-hadoop-test-bucket 1000 x 10 KB 1000 8 1012
あなたのHadoopのバージョンは何ですか?シャッフルバックエンドは何を使用していますか? –
また、あなたのjvm再利用設定は何ですか? –
あなたの仕事は "Uber"モードで走っていたのですか? –