The Apache Hadoop Distributed File System (HDFS) is highly scalable and can support petabyte-sizes clusters. However, the entire Namespace (file system metadata) is stored in memory. So even though the storage can be scaled horizontally, the namespace can only be scaled vertically. It is limited by the how many files, blocks and directories can be stored in the memory of a single NameNode process.
Federation was introduced in order to scale the name service horizontally by using multiple independent Namenodes/ Namespaces. The Namenodes are independent of each other and there is no communication between them. The Namenodes can share the same Datanodes for storage.
Scalability: Federation adds support for horizontal scaling of Namespace
Performance: Adding more Namenodes to a cluster increases the aggregate read/write throughput of the cluster
Isolation: Users and applications can be divided between the Namenodes
Read on for examples.