Consensus NameNodes Coordination Engine Distributed File System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional HDFS implementations are prone to single points of failure, data loss, and network failures, leading to inconsistencies and potential data corruption due to the reliance on a single Active NameNode and Standby NameNode, which can result in system stalls and 'split-brain' conditions during failover.

Innovation Solution

Implementing a distributed file system with multiple active Consensus NameNodes (CNodes) coordinated by a Coordination Engine that ensures consistent namespace replication across nodes, eliminating the need for a single master and enabling continuous availability and automatic failover, thereby maintaining data integrity and system reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single Active NameNode and Standby NameNode are used, then system simplicity is maintained, but reliability deteriorates due to single points of failure and potential data loss during failover

Engineering Contradiction:
Improvesystem structureVSAvoidsystem reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system segments the NameNode functionality across multiple independent nodes (primary NameNode and secondary NameNodes) rather than relying on a single Active NameNode. Each node maintains a copy of the namespace image and can independently serve client requests, eliminating the single point of failure while maintaining system functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each NameNode (primary and secondary) maintains local copies of the namespace image and journal in its own local filesystem rather than relying on shared persistent storage. This localization ensures that each node has independent data access capability and can operate autonomously, improving reliability during failover scenarios.

Inventive Principle:
Principle #3Local quality

2Reliability

If a Standby_nameNode synchronized via NAS is used, then failover capability is provided, but data loss risk increases due to potential unsynchronized changes during failover

Engineering Contradiction:
Improvefailover capabilityVSAvoiddata loss
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

Secondary_nameNodes continuously pre-synchronize with the primary_nameNode by reading journal transactions from the primary node's local filesystem and applying them to their own namespace images. This preliminary synchronization ensures that secondary nodes are always up-to-date before any potential failover, eliminating data loss risk.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where secondary_nameNodes monitor the primary_nameNode's journal transactions and automatically apply updates to maintain synchronization. This continuous feedback loop ensures data consistency across all nodes, preventing data loss during failover.

Inventive Principle:
Principle #23Feedback

3Device complexity

If a single Transaction Journal is used, then coordination simplicity is maintained, but reliability deteriorates as the journal becomes a single point of failure

Engineering Contradiction:
Improvejournal coordinationVSAvoidjournal reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The journal functionality is segmented and replicated across multiple primary_nameNodes. Each primary_nameNode maintains its own local journal in its local filesystem, and secondary_nameNodes can read from any primary node's journal. This segmentation eliminates the single point of failure while maintaining coordination capability.

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If manual failover intervention is required, then control precision is improved, but productivity deteriorates due to delayed failover response

Engineering Contradiction:
Improvefailover controlVSAvoidfailover response time
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system implements automated failover detection and execution where secondary_nameNodes continuously monitor the health of the primary_nameNode and can automatically take over if the primary node fails. This self-service mechanism eliminates manual intervention delays while maintaining precise control through health monitoring and structured failover protocols.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3039549B1Distributed file system using consensus nodes
Publication Date: 2018.10.03 WANDISCO
  • EP3039549B1 patent drawingFigure 1
  • EP3039549B1 patent drawingFigure 2~3
  • EP3039549B1 patent drawingFigure 4~5

AI summary

A cluster of nodes in a distributed file system may include; at least two namenodes, each coupled to a plurality of data nodes and each configured to store a state of a namespace of the cluster and each being configured to respond to a request from a client while other(s) of the namenodes are responding to other requests from other clients; and a coordination engine coupled to each of the namenodes. The coordination engine may be configured to receive proposals from the namenodes to change the state of the namespace by replicating, deleting and/or adding data blocks stored in the data nodes and. to generate, in response, an ordered, set of agreements that specifies an order in which the namenodes are to change the state of the namespace. The namenodes are configured, to delay making changes thereto until after the ordered set of agreements is received from, the coordination engine.