2

Hadoop の HDFS を他の NoSQL データベースに置き換えるにはどのような労力が必要ですか。それにどれだけの仕事が関係しているのですか?誰かがそれを説明している良いウィキやリンクを持っていますか? その DB の FileSystem インターフェイスを実装するのと同じくらい簡単ですか?

他の人が Hadoop を変更してカスタム ディストリビューションを生成する方法についての記事をいくつか見つけましたが、HDFS を置き換えるためのガイドは見つかりませんでした。

ありがとう、パルト

4

2 に答える 2

2

HDFS にはディスク容量の制約があり、それがバックアップとストレージ戦略を制約していたため、実際には少し前にこれを行いました。そのため、HDFS の代わりに S3N を使用することについて話し合いましたが、これはかなり標準的な操作のようです。

hadoop-site.xml または hdfs-site.xml に次のプロパティを追加する必要があります。

<property>
  <name>fs.default.name</name>
  <value>s3://BUCKET</value>
</property>

<property>
  <name>fs.s3.awsAccessKeyId</name>
  <value>ID</value>
</property>

<property>
  <name>fs.s3.awsSecretAccessKey</name>
  <value>SECRET</value>
</property>

設定の詳細については、こちらをご覧ください。興味深いことに、この場合、データは Amazon S3 に保存されているため、データはもはやローカルではないためフェッチする必要がありますが、パフォーマンスへの影響は、最初に恐れていたほど大きくないようです。

私が試したことはありませんが、HDFS の代替手段として必ず確認する必要があるのは、QFS from Quantcast です。これについては良いことを聞いていて、ベンチマークでは HDFS よりも高速になっているようです。

于 2013-01-26T13:57:26.537 に答える
2

独自の DFS インターフェイスを実装し、hadoop で動作させるのは比較的簡単です。必要なのは、ファイル システムの概念であるファイルとディレクトリとストレージとの間のある種の論理マッピングだけです。
NoSQL の場合 (KeyValue を想定している場合)、ディレクトリの表現方法を決定する必要があります。いくつかの特別なノードを実行するか、パスをキーに入れることができます。
もう 1 つの決定ポイント - データの局所性を気にするかどうかを決定する
ドキュメンテーションに関しては、s3n DFS 実装のソースから始めるのが最善のポイントだと思います。
近い例は、DataStax http://www.datastax.com/
によって行われた Cassandra 上の Hadoop だと思います。 別の例 (最近行ったもの) は、OpenStack Swift との Hadoop 統合です。 http://bigdatacraft.com/archives/349

于 2013-01-26T07:34:29.177 に答える