1

Namenode として使用したい非常に安定したマシンがあります。その間、非常に不安定なマシンが他にもたくさんあり、それらをデータノードにしたいと考えています。ここで、Namenode (この場合は Datanode としても) が HDFS 上のデータ全体のコピーを持つように Hadoop を構成して、クラスターが常にそこからデータを回復できるようにします。誰でも私を助けることができますか?

4

2 に答える 2

0

これを簡単な方法で行うことはできません。方法はありますが、それは厄介であらゆる種類の問題を抱えており、それだけの価値はありません。

実際のデータノードとネームノードでデータノードデーモンを実行します。トポロジファイルで、すべての実際のデータノードを1つの論理ラック(R1)の一部として作成し、NN + DNマシンを別のラック(R2)として作成します。NN +DNに2*(すべてのDNの合計ディスク容量)よりも多くのスペースがあることを確認してください。HDFSがレプリケーション係数3で構成されていることを確認します。

ブロックが作成されると、HDFSは1つのラックに2つのレプリカを配置し、別のラックに3つ目のレプリカを配置します。したがって、すべてのデータは確実にNN+DN単一ホスト上にあります。これがクラスターのパフォーマンスにどのような影響を与えるかは、私が知りたくないことです。

実稼働環境でこれを行うことさえ考えないでください。実際、あなたの要件は完全に欠陥があります。データノード間で複数のレプリカを持つことは、Hadoopがデータノードの信頼性に対処する方法です。データノードは引き続き障害が発生しますが、データが失われることはないという前提があります。これは、Hadoop設計に組み込まれています。

于 2012-10-07T08:44:00.250 に答える
0

このアプローチは、本質的にスケーラブルではありません。システムは、1 つのノードのみのデータ量によって制限されます。
私は同様の要件に直面しており、解決策は、(お金を節約するために) 大量のストレージと少量の CPU とメモリを備えた小規模な HDFS クラスターを構築することでした。次に、バックアップとしてこのクラスターに定期的にデータを DISTCP できます。

于 2012-10-07T21:58:15.937 に答える