我刚刚开始阅读有关Hadoop的内容,并遇到了CAP定理。您能否说明一下CAP的哪两个组件适用于HDFS系统?
答案 0 :(得分:0)
Hadoop支持分区容限和可用性。
不支持一致性。
答案 1 :(得分:0)
谈论Hadoop,它支持Availability and Partition Tolerance属性。不支持Consistency属性,因为只有namenode具有复制副本放置位置的信息。此信息不适用于群集的每个节点。
答案 2 :(得分:0)
文件非常清楚地说明: “ Hadoop文件系统的一致性模型是一拷贝更新语义;传统的本地POSIX文件系统是一致性模型。”
(单拷贝更新语义意味着访问或更新给定文件的所有进程所看到的文件内容将看起来好像文件的单个副本一样。)
前进,该文件说:
上述特征表明HDFS中存在“一致性”。
来源:https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/filesystem/introduction.html
HDFS为名称节点和数据节点提供高可用性。
在文档中(在“操作和故障”部分下)中非常清楚地提到了此内容:
“完成操作的时间是不确定的,可能取决于实现方式和系统状态。”
这表明HDFS中缺少CAP上下文中的“可用性”。
来源: https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/filesystem/introduction.html
鉴于上述论点,我相信 HDFS在以下情况下支持“一致性和分区容忍度” ,而不支持“可用性” CAP定理。