728x90

Hadoop에서 "split brain"은 주로 고가용성(High Availability) 설정에서 발생하는 문제를 가리킵니다.

 

Split brain은 네트워크 분할이나 네임노드 간 통신 장애로 인해 클러스터의 네임노드들이 서로 독립적으로 운영되는 상태를 의미합니다.

 

일반적으로 Hadoop의 고가용성 구성에서는 두 개의 네임노드가 서로 통신하여 클러스터 상태를 동기화합니다.

하지만 네트워크 분할이 발생하거나 네임노드 간 통신이 실패하는 경우,

각 네임노드는 자신이 활성(active)인지 스탠바이(standby)인지 판단할 수 없게 됩니다.

 

이렇게 되면 각각의 네임노드가 독립적으로 파일 시스템에 대한 읽기 및 쓰기 작업을 수행할 수 있게 됩니다.

이러한 상황에서는 데이터의 불일치가 발생할 수 있으며, 클러스터의 안정성과 일관성이 보장되지 않습니다.

 

Split brain을 방지하기 위해 Hadoop은 주로 주키퍼(ZooKeeper)와 같은 조정자 서비스를 사용하여 네임노드 간의 통신 및 상태 동기화를 관리합니다.

주키퍼를 사용하면 네임노드 간의 네트워크 분할이나 통신 장애를 탐지하고,
정확한 활성 네임노드를 선정하여 클러스터의 일관성을 유지할 수 있습니다.

 

 

따라서 split brain은 Hadoop 클러스터에서 중대한 문제를 발생시킬 수 있는 상황이며, 이를 방지하기 위해서는 적절한 고가용성 설정과 조정자 서비스의 사용이 필요합니다.

+ Recent posts