当我通过基本配置时,我遇到了dfs.namenode.replication.min = 1,这是什么意思?
http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
答案 0 :(得分:2)
您的 namenode ,取决于它所做的事情,可以处于多种状态之一。例如,当它启动时,它处于安全模式。
当 namenode 处于安全模式时,它将使用 dfs.namenode.replication.min 覆盖 dfs .namenode.replication 设置。
datanodes 报告所有块后, namenode 将离开所述状态并返回使用原始设置。
答案 1 :(得分:0)
dfs.namenode.replication.min
是最小块复制(来源:the Hadoop 2.9 documentation)的设置,而不是dfs.replication.max
和{ {1}}(最大和相应的默认块复制)。
最小块复制定义
必须为写入写入的最小副本数 成功
(来自:Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale)
因此,在编写文件时,如果dfs.replication
,只要文件中每个块的一个副本存在,就会发送肯定确认信号。之后,系统将继续复制,直到达到默认的块复制dfs.namenode.replication.min = 1
。
提到的三个复制设置与dfs.replication
无关,但它们与文件复制有关。
namenode
是一个特殊的服务器,它有自己的机制来保证可用性,例如通过维护文件系统的元数据的多个副本(参见Hadoop文档中的Metadata Disk Failure) HDFS架构)。
尽管有这些措施,namenode
可能是单点故障(SPOF)。这就是为什么从版本2.0.0开始,Hadoop支持HDFS高可用性(HDFS HA),它依赖于并行运行的namenode
的两个副本。
HDFS高可用性功能通过解决了上述问题 提供在同一中运行两个冗余NameNode的选项 具有热备用的主动/被动配置中的群集。
(来自:HDFS High Availability Using the Quorum Journal Manager)