4

CAP 定理について私がこれまでに読んだすべてのことによると、可用性、一貫性、分断耐性の 3 つすべてを提供できる分散システムはありません。

現在、Hadoop 2.x では、Hadoop クラスターにあった単一障害点 (単一の名前ノード) を取り除くために構成できる新しい機能が導入されました。これにより、クラスターは可用性が高く、一貫性があり、分断耐性が高くなります。私は正しいですか?または、何か不足していますか?CAP によると、システムが 3 つの機能すべてを提供しようとする場合、レイテンシの代償を払う必要がありますが、新しい機能はこのレイテンシをクラスタに追加しますか? それとも、Hadoop は CAP 定理を破ったのでしょうか?

4

2 に答える 2

5

HDFS は、複数の相関する障害 (たとえば、同じ HDFS ブロックを持つ 3 つのデータ ノードの障害) の場合、可用性を提供しません。

CAP Confusionから: パーティション トレランスの問題

ZooKeeper などのシステムは、クォーラムへの書き込みコストが比較的小さいクラスター内に十分なノードがほとんどないため、明示的に順次整合性があります。Hadoop Distributed File System (HDFS) も一貫性を選択します。運が悪ければ、3 つのデータノードに障害が発生すると、ファイルのブロックが使用できなくなる可能性があります。どちらのシステムも実際のネットワークで機能するように設計されていますが、パーティションや障害が発生すると、両方のシステムが使用できなくなり、一貫性と可用性の間で選択が行われます。この選択は、分散データ ストアにとって避けられない現実です。

于 2015-03-10T17:40:15.680 に答える
2

HDFS の高可用性により、HDFSの可用性が向上しますが、完全ではありません。ネットワーク パーティションが原因でクライアントがどちらの NameNode とも通信できなくなった場合、クラスターは実質的に使用できなくなります。

于 2015-03-10T19:21:05.963 に答える