2

こんにちは、hadoop 環境をセットアップしようとしています。要するに、私が解決しようとしている問題には、サイズが数 MB の数十億の XML ファイルが含まれており、HIVE を使用してそれらから関連情報を抽出し、その情報を使用して分析作業を行います。これは Hadoop の世界では些細な問題であることはわかっていますが、Hadoop ソリューションがうまく機能する場合、処理するファイルのサイズと数よりも幾何学的なプロジェクション形式で増加します。

「Hadoop 決定版ガイド」「Hadoop in action」など、いろいろな本を参考にして調べました。yahoo や hortonworks によるドキュメントなどのリソース。Hadoop環境を構築するためのハードウェア/ソフトウェアの仕様がわかりません。これまでに参照したリソースでは、次のような標準的なソリューションを見つけました

  1. Namenode/JobTracker (2 x 1Gb/s イーサネット、16 GB の RAM、4 x CPU、100 GB ディスク)
  2. Datanode (2 x 1Gb/s イーサネット、8 GB の RAM、4 x CPU、合計
    500 GB 以上の複数のディスク)

しかし、誰かが素晴らしい提案をすることができれば。ありがとう

4

2 に答える 2

1

最初に検討することをお勧めします: より多くの処理 + いくらかのストレージまたはその反対が必要であり、このビューからハードウェアを選択します。あなたのケースは、保管よりも処理が多いように聞こえます。
Hadoop NameNodeには、少し異なる標準ハードウェアを指定します
: ミラー内の高品質ディスク、16 GB HDD。
データ ノード: 16 ~ 24 GB RAM、デュアル クアッドまたはデュアル 6 コア CPU、4 ~ 6 個の 1-2-3 SATA TB ドライブ。

10 GBit オプションも検討します。クラスター価格の 15% 以上を追加しない場合は、理にかなっていると思います。15% は、マッパーからレデューサーへのデータ転送にジョブ時間の約 15% がかかるという大まかな見積もりによるものです。
あなたの場合、お金を節約するためにディスクサイズを犠牲にしても構わないと思っていますが、CPU/メモリ/ドライブの数は犠牲にしません。

于 2013-03-04T15:39:47.953 に答える
0

「HIVE を使用してそれらから関連情報を抽出する」 Hive は xml ファイルではうまく機能しないため、これは少し難しい作業です。別の言語 (ruby、python、perl など) で解析スクリプトを作成して、xml ファイルを解析し、ハイブにロードする列形式の出力を生成することをお勧めします。次に、Hive を使用して変換を使用してその外部解析スクリプトを呼び出すか、単に hadoopstreaming を使用して Hive 用のデータを準備します。次に、作業をどれだけ速く完了させる必要があるか、およびこれから取得するデータの量を保持するために必要なスペースがどれだけあるかが問題になります。

単一のシステムで少数のファイルを使用してプロセスを構築し、テストすることができます。ただし、クラスターを適切にスケーリングするには、計画された全体的なワークロードをより適切に処理する必要があります。データの冗長性のためだけに、本番クラスターの最小サイズは、少なくとも 3 台または 4 台のマシンです。さらに、ワークロードのニーズを満たすために、必要に応じてノードを追加します。

于 2013-03-07T06:44:19.033 に答える