ほとんどの人は、既に持っているHadoopノードでPrestoを実行しています。 Facebookでは、通常、Hadoopクラスタ内のいくつかのノードでPrestoを実行し、ネットワークの負荷を分散します。
一般的に、私は新しいクラスタの業界標準の比率、つまり、2つのコアと各ディスクの2〜4ギガヘルツのメモリと、10ギガビットのネットワーキングを備えています。いくつかのマシン(4+)を使用した後、データに対するクエリを使用してベンチマークを行います。比率を調整する必要があるかどうかは明らかです。ゼロからクラスタのために考慮すべきいくつかのことをハードウェアサイジングの面で
:
- 総データサイズはあなたが必要とするディスクの数を決定します。 HDFSには大きなオーバーヘッドがあり、多くのディスクが必要になります。
- ディスクとCPUの速度の比は、ホットデータ(作業中のデータ)とコールドデータ(アーカイブデータ)の比率によって決まります。データウェアハウスを始めるだけであれば、すべてのデータが新しく熱くなるため、多くのCPUが必要になります。一方、ほとんどの物理ディスクはデータを高速でしか配信できないため、ある時点でより多くのCPUが役に立たない。
- CPU速度とメモリの比率は、実行する集計と結合のサイズとキャッシュする(ホット)データの量によって異なります。現在、Prestoでは、最終的な集計結果とジョイン用のハッシュテーブルが1台のマシン上のメモリに収まる必要があります(これらの制限の削除に積極的に取り組んでいます)。大量のメモリがある場合、OSはディスクページをキャッシュします。これにより、クエリのパフォーマンスが大幅に向上します。次のように我々はプレスト・プロセスを実行Facebookので
:
- 私たちはプレストを実行するマシンでOSのバッファ
- ために利用可能なほとんどのメモリを残すために16ギガバイトのヒープと私たちのJVMを実行にはドンを我々
- 私たちがいるPrestoマシンの多くは、16個の実際のコアを持っており、Prestoを12コアに制限するために(すぐにcgroupsになるように)プロセッサアフィニティを使用しています(DFSクライアントやその他のものは簡単に実行できます)
- Mo私たちは、コーディネーターのために同じ設定を使用して、労働者
は、あなたがに見たことが