単一のマシンで複数の仮想化ノードを使用する場合と、単一のマシン自体で単一のノードを使用する場合の速度とパフォーマンスについて質問があります。
どちらがより良いパフォーマンスを発揮しますか?
この質問をする理由は、私が現在 1 台のマシンで Hadoop を学習していて、1 台のマシンで複数の仮想化ノードを使用する方法を示すチュートリアルをインターネットで見たからです。
前もって感謝します
単一のマシンで複数の仮想化ノードを使用する場合と、単一のマシン自体で単一のノードを使用する場合の速度とパフォーマンスについて質問があります。
どちらがより良いパフォーマンスを発揮しますか?
この質問をする理由は、私が現在 1 台のマシンで Hadoop を学習していて、1 台のマシンで複数の仮想化ノードを使用する方法を示すチュートリアルをインターネットで見たからです。
前もって感謝します
仮想化には常にいくらかのオーバーヘッドが伴うため、本当に必要でない限り、仮想化環境で Hadoop を実行することはお勧めしません。
そうは言っても、VMWare が Hadoop を仮想化環境で動作させるために多くの作業を行ったことは知っています。彼らは、特定の条件下でネイティブ アプリケーションよりも VM で優れたパフォーマンスを発揮すると主張するいくつかのベンチマークを公開しています。私は vSphere であまり遊んだことがありませんが、仮想化をさらに詳しく調べたい場合は、これが参考になるかもしれません。ただし、数値を当然のことと考えないでください。実際に実行しているハードウェアの種類に依存するため、状況によっては、VM である程度のパフォーマンスが向上する可能性があると思いますが、経験から、ほとんどの場合に勝ったと推測しています何も得ない。
Hadoop を使い始めてテストしているのであれば、仮想化はやり過ぎだと思います。疑似分散モードで Hadoop を非常に簡単に実行できます。つまり、同じボックスで複数の Hadoop デーモンをそれぞれ別のプロセスとして実行できます。これは私が Hadoop を使い始めたときに使用したものであり、有利なスタートです。詳細については、こちらを参照してください (または、実行している Hadoop のバージョンによっては、別のページが必要になる場合があります)。
実際のクラスターでテストしたいがリソースがない場合は、Amazon Elastic Map/Reduce を検討することをお勧めします。これはオンデマンドでクラスターを提供し、かなり安価です。そうすれば、より高度なテストを実行できます。詳細はこちら。
要するに、目的が単にテストである場合、仮想クラスターは実際には必要ないと思います。
このトピックで実施されたパフォーマンス分析のケーススタディでは、仮想Hadoopクラスターの効率がネイティブのクラスターと比較して約4%低いことが示されました。仮想化されたHadoopパフォーマンスのケーススタディ