Hadoop HDFS is an open source project from Apache Software Foundation for scalable, distributed computing and data storage. HDFS has become a critical component in today's cloud computing environment and a wide range of applications built on top of it. However, the initial design of HDFS has introduced a single-point-of-failure, HDFS contains only one active name node, if this name node experiences software or hardware failures, the whole HDFS cluster is unusable until the recovery of name node is finished, this is the reason why people are reluctant to deploy HDFS for an application whose requirement is high availability. In this paper, we present a solution to enable the high availability for HDFS's name node through efficient metadata replication. Our solution has two major advantages than existing ones: we utilize multiple active name nodes, instead of one, to build a cluster to serve request of metadata simultaneously. We implements a pub/sub system to handle the metadata replication process across these active namonodes efficiently. Based on the solution we implement a prototype called NCluster and integrate it with HDFS. We also evaluate NCluster to exhibit its feasibility and effectiveness. The experimental results show that our solution performs well with low replication cost, good throughput and scalability.
[1]
Tom White,et al.
Hadoop: The Definitive Guide
,
2009
.
[2]
Leslie Lamport,et al.
Paxos Made Simple
,
2001
.
[3]
Hairong Kuang,et al.
The Hadoop Distributed File System
,
2010,
2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).
[4]
Brett D. Fleisch,et al.
The Chubby lock service for loosely-coupled distributed systems
,
2006,
OSDI '06.
[5]
GhemawatSanjay,et al.
The Google file system
,
2003
.
[6]
Maurice Herlihy,et al.
Linearizability: a correctness condition for concurrent objects
,
1990,
TOPL.
[7]
Werner Vogels,et al.
Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability.
,
2022
.
[8]
Mahadev Konar,et al.
ZooKeeper: Wait-free Coordination for Internet-scale Systems
,
2010,
USENIX ATC.
[9]
Komal Shringare,et al.
Apache Hadoop Goes Realtime at Facebook
,
2015
.
[10]
Sanjay Ghemawat,et al.
MapReduce: Simplified Data Processing on Large Clusters
,
2004,
OSDI.