Replication=3로 설정된 HDFS에서 파일을 저장할 때, 특정 데이터 노드에서 장애가 발생한다면 어떻게 될까? 데이터노드 1, 2, 3에 쓴다고 가정하자. 만약 데이터노드2가 장애로 작성에 실패한다면 HDFS 클라이언트 요청은 데이터노드 1, 3에만 저장하고 정상 종료된다. Replication=3으로 설정되어 있음에도 복제본 2개만 가지고 종료된다. 단 네임노드에 불완전 복제 블록으로 알려준다. 질문: 그렇다면 Replication=3이므로 3번째 복제본은 누가 작성하는 것일까? 답변: 결론부터 이야기하면 네임노드가 데이터노드에 복제요청을 한다. 복제 블록의 상태에는 여러 가지가 있다.(CDH 공식문서) 각 상태마다 네임노드가 처리하는 방식에 차이가 있는 듯 하다. 다음에 HDFS 복구 플랜에..
HDFS에서 각 파일들은 블록(128MB) 단위로 나눠져 여러 데이터노드에 저장된다.(복제본 포함) 이 때 네임노드는 각 블록들의 위치 정보(metadata)를 메모리에 저장하게 되고 클라이언트가 특정 파일을 읽을 때, 블록들의 위치 정보를 알려주게 되어 있다. FsImage와 EditLog 네임노드에서 FsImage나 EditLog에 기록을 파일로 남기고 있으나, 메모리에 유지한 정보만 서비스한다. FsImage: 파일들의 metadata를 저장하고 있는 파일. 파일 메타 정보의 Snapshot이라고 할 수 있다. EditLog: 오라클의 Transaction Log 같은 기능을 담당하고 있다. 네임노드가 관리하는 파일 메타 정보에 변경이 있는 경우 한 줄씩 등록된다. 이 정보는 추후 Secondary..
- Total
- Today
- Yesterday
- 확률분포
- PYTHON
- jenkins2.0
- jenkins
- 태그를 입력해 주세요.
- CI
- mongodb
- Oracle
- db
- HADOOP
- jackson
- mysql
- linux
- Apache Spark
- flume
- java
- spring
- bigdata
- 책요약
- 알고리즘
- json
- exception
- Learning Spark
- spark
- Django
- 통계학
- Hdfs
- Sqoop
- Git
- mongo
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |