有趣的問題。我在AvatarNodes上發現了這篇文章:http://hadoopblog.blogspot.com/2010/02/hadoop-namenode-high-availability.html
在我看來,AvatarNode允許您最大限度地減少名稱節點停機時的停機時間,並在不到一分鐘的時間內用新的名稱節點進行備份。
從hadoop的documentation:
The term "secondary name-node" is somewhat misleading. It is not a name-node in the
sense that data-nodes cannot connect to the secondary name-node, and in no event it can
replace the primary name-node in case of its failure.
由於次級名稱節點不能作爲名稱節點行動,它帶來了冗長的停工時間的恢復或啓動一個新的名稱節點的可能性。
AvatarNode既可以充當輔助節點,也可以充當主節點,只需切換VIP即可實現快速故障切換。
在關於爲什麼使用NFS而不是插座,後說
It is guaranteed that the Standby AvatarNode ingests all committed transactions because
it reopens the edits log and consumes all transactions till the end of the file; this
guarantee depends on the fact that NFS-v3 supports close-to-open cache coherency
semantics.
我認爲這是當名節點出現故障儘量減少數據丟失,並保持一致性與HDFS數據進行編輯的問題。更多關於這裏接近開放的一致性保證:http://nfs.sourceforge.net/#faq_a8
感謝。我確實瞭解Avatarnode設計正在做什麼以及它試圖解決的問題。我在質疑的是使用NFS的實現。似乎直接複製小學和中學之間的信息應該相當簡單,而不是在混合中增加另一個失敗系統。 – Hellblazer
感謝您的補充。但是,似乎使用簡單的套接字來複制它們之間的狀態,在主要和次要之間保持接近開放的語義看起來微不足道。 – Hellblazer