是否有可能在hadoop中复制namenode?

时间:2014-05-26 22:38:50

标签: hadoop hdfs

当我通过基本配置时,我遇到了dfs.namenode.replication.min = 1,这是什么意思?

http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

2 个答案:

答案 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