-
Type:
Sub-task
-
Status: Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: Heterogeneous Storage (HDFS-2832)
-
Fix Version/s: Heterogeneous Storage (HDFS-2832)
-
Component/s: datanode
-
Labels:None
-
Hadoop Flags:Reviewed
Prior to the heterogeneous storage feature, each Datanode had a single storage ID which was generated by the Namenode on first registration. The storage ID used fixed Datanode identifiers like IP address and port, so that in a federated cluster, for example, all NameNodes would generate the same storage ID.
With Heterogeneous storage, we have replaced the storage ID with a per-datanode identifier called the Datanode-UUID. The Datanode UUID is also assigned by a NameNode on first registration. In a federated cluster with multiple namenodes, there are two ways to ensure a unique Datanode UUID allocation:
- Synchronize initial registration requests from the BPServiceActors. If a Datanode UUID is already assigned we don't need to synchronize.
- The datanode assigns itself a UUID on initialization.