• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

federation에 대해

21.08.02 18:31 작성 조회수 124

1

2.0 아키설명때 federation설명부분에서
네임노드는 모든 네임노드에 네임스페이스에 소속이 되어있다는 말이 무슨 말인가요?;;;
~에 ~에 ~ 라고 말씀하셨는데 말씀하신 구문이 이해가 안가가네요 ㅠㅠ
그리고 또한 각각 네임노드마다 싱크가 안되면 각각 네임노드마다 데이타노드 메타정보를 각각 다른 정보를 가지고 있는거 아닌가요? 독립적으로 정보를 가지고 있다고 하셨고 하나의 네임노드가 죽어도 다른 네임노드로 대체할수있다고 하셨는데 각각 다른 정보를 가지고 싱크도 안되는데
그러면 하나의 네임노드가 죽으면 일부 데이타 노드는 사용못하는거 아닌가요? 어떻게 대체 가능한건가요?

답변 1

답변을 작성해보세요.

0

odark 님에게

[저장 프로세스
관리자는 데이터를 HDFS에 저장하는 것으로 면밀한 아키텍쳐 구조를 볼 수 있습니다

HDFS 클라이언트는 그 데이터의 메타데이터 (데이터가 들어있는 파일의 네임스페이스파일명폴더 구조 등를 네임노드에 전달합니다. 
그 데이터는 이제 여러 개의 파일로 나뉘어져 데이터 노드에 각각 저장합니다. 
NameNode는  데이터 노드의 복제 명령을 수행하죠. DataNode는 자신의 상태 정보를 네임노드에 송신하게 됩니다.  

[읽기 프로세스관리자는 데이터를 읽고자 HDFS 클라이언트에게 파일 읽기 요청을 하게 됩니다. 
HDFS 클라이언트는 네임노드 안에 적재되어 있는 파일 블록에 대한 메타데이터 정보를 읽게 됩니다. HDFS 클라이언트는 처리하고자 하는 메타 데이터 정보를 바탕으로 데이터 노드들 중 해당 데이터 파일을 읽게 됩니다. 만약 네임노드의 메타 정보가 수정되었으면 네엄노드는 모든 로그를 세컨더리 네임 노드의 Edits 파일에 저장하게 되죠. Edits 파일의 기록 로그는 FsImage 파일에 병합되어 기록됩니다. 아마 읽기 프로세스 5번의 마지막 부분인 "Edits 파일의 기록 로그는 FsImage 파일에 병합되어 기록"된다는 의미입니다.

H
DFS Federation (연합)

1. 클러스트 내에 여러 네임노드의 수평적 확장

    : 서로 독립적인 네임스페이스를 갖는 네임노드의 다양한 서비스 지원하고자 하며 이들을 수평적으로 확장하는 목적입니다.

2. 네임노드는 서로 독립적이다그래서 서로간의 상호작업이 있고, 동기화된 고가용성 기능과 다르죠.

3. 네임노드는 서로간의 상호작업이 아니다다이어그램처럼 네임노드들 사이로 싱크로나이즈적인 작업이 아닙니다.

4. 네임노드는 하나의 네임스페이스 그리고 하나의 Pool을 동시에 가지고 있죠. (namenodes have each one namespace and one block pool ) 하나의 풀이기에 네임노드가 여러 개지만 마치 하나처럼 되어 있습니다. 하나의 풀은 공유가 가능한 셈이죠.

5. 네임노드는 모든 네임노드의 네임스페이스에 소속되어 있으며 모든 네임스페이스의 블럭들은 독립적으로 저장한다.

6. 결국 하나의 네임노드 서비스가 작동을 멈추어도 다른 네임노드 서비스로 대체할 수 있는 것이죠.
네임 노드가 여러 개라 하더라도 하나의 풀로 네임 노드들이 연결되어 공유가 가능합니다. 네임노드의 각각 모든 네임스페이스들이 서로 풀로서 공유된다는 말입니다. 그러니 네임노드들 중 하나가 죽어도 다른 네임노드 중 풀을 공유하면 전체 네임노드들이 몇 개인지 알게 되어 어떤 네임노드가 고장이 났는지 압니다. 그러면 하나의 네임스페이스인 풀을 읽어서 복구 가능합니다. 답변이 되었는지요.

토론토에서 빌리 올림