표제지
논문요약
목차
1. 서론 9
2. 고가용성 및 고신뢰성을 위한 분산시스템 구조분석 14
가. HDFS의 구조와 네임노드 장애 극복 방안 14
나. 멀티 노드 클러스터 기반의 장애극복 16
다. 펜싱기법 기반의 장애극복 25
라. 노드의 상태 기반의 장애극복 27
(1) 싱글액티브 구조의 다양한 형태 27
(2) 멀티액티브 구조의 다양한 형태 30
(3) 정족수 설정 33
3. 고가용성 및 고신뢰성을 위한 네임노드 관련 기존 사례연구 35
가. 네임노드 관련 기존 사례연구 37
(1) 네임노드 다중화(백업노드) 37
(2) 네임노드 다중화(싱글마스터) 38
(3) 네임노드 다중화(멀티마스터) 38
(4) Federated 네임노드 : 네임노드 파티셔닝 39
(5) 네임노드 관련 기존 사례연구들의 한계점 40
나. 유사구조인 데이터베이스 사례연구 42
(1) RedisDB 43
(2) MongoDB 44
(3) MariaDB 44
다. 유사구조 관련 솔루션 사례연구 45
(1) 주키퍼(Zookeeper) 45
4. 고가용성 및 고신뢰성을 보장하는 멀티마스터 네임노드 아키텍처 제안 47
가. Vet를 이용한 복제와 분산배치기법이 적용된 멀티마스터 아키텍처 50
나. Vet와 Donor를 이용한 펜싱기법 55
다. 유사구조에서의 실험 67
(1) 실험 방법 67
(2) 실험 환경 68
(3) 실험 결과 69
5. 결언 78
참고문헌 80
부록 87
Abstract 89
표 1. 마스터 및 노드의 상태에 따른 차이점 25
표 2. Hadoop 버전에 따른 마스터 유형 및 SPoF 문제 35
표 3. 본 논문에서 제안하는 멀티마스터 아키텍처와 관련 연구의 비교 41
표 4. 유사구조인 데이터베이스에서 노드의 상태에 따른 분류 43
표 5. 본 논문에서 제안하는 멀티마스터 아키텍처 48
표 6. AP와 LB를 위한 Replica 초기개수와 AP를 보장하는 Replica 최대개수 54
표 7. Vet의 설정파일 (파일명: vet.cnf) 66
표 8. 실험 환경 68
표 9. 고가용성 및 고신뢰성 솔루션에 대한 가용율 및 Slave 노드 수 69
표 10. 정족수에 따른 Shutdown 및 복구 후 마스터 유지가능 여부 75
표 11. 정족수에 따른 Shutdown 및 복구 후 노드 자동재시작 가능 여부 76
표 12. 정족수에 따른 Shutdown 및 복구 후 복제 및 동기화 수행 여부 77
그림 1. 데이터노드의 장애극복 과정 15
그림 2. 대칭 구조(물리 노드당 하나의 논리 노드가 배치) 21
그림 3. 대칭 구조(물리 노드당 2개의 논리 노드가 배치) 21
그림 4. 비대칭 구조(1:2) 22
그림 5. 비대칭 구조(2:1) 22
그림 6. 싱글액티브 - 마스터에 장애 발생 시 장애 극복에 실패하는 과정 28
그림 7. 싱글액티브와 싱글스탠바이 - 마스터에 장애 발생시 장애 극복 과정 28
그림 8. 싱글액티브와 멀티스탠바이 - 마스터에 장애발생시 장애 극복 과정 29
그림 9. 마스터에 장애 발생시 생존 노드가 과반수 이하일 때... 30
그림 10. 마스터에 장애 발생시 Split Brain을 무시하는 경우... 31
그림 11. 마스터에 장애 발생 시 생존 노드가 과반수 이하일 때... 32
그림 12. 마스터에 장애 발생 시 Split Brain을 무시하는 경우... 32
그림 13. 정족수가 2이고 홀수노드일 때, 마스터에 장애발생시 장애극복 과정 33
그림 14. 정족수가 1이고 홀수노드일 때, 마스터에 장애발생시 장애극복 과정 33
그림 15. 정족수가 3이고 짝수노드일 때, 마스터에 장애발생시 장애극복 과정 34
그림 16. 정족수가 1이고 짝수노드일 때, 마스터에 장애발생시 장애극복 과정 34
그림 17. Hadoop 버전 역사 36
그림 18. Vet, Donor - 네임노드 5개이고 Replica가 3개일 때 49
그림 19. 제안 - 네임노드가 5개이고 Replica가 3개일 때 51
그림 20. 제안 - 네임노드가 3개이고 Replica가 2개일 때 52
그림 21. AP를 보장하는 Replica 최대 개수그림 53
그림 22. 네임노드가 5개이고 Replica가 3개일 때 56
그림 23. 네임노드가 3개이고 Replica가 2개일 때 57
그림 24. 네임노드가 3개이고 Replica가 3개일 때 57
그림 25. 노드펜싱(1/3) - 장애가 발생한 노드의 펜싱 과정 59
그림 26. 노드펜싱(2/3) - Replica의 개수를 유지하기 위해 복제하는 과정 59
그림 27. 노드펜싱(3/3) - Donor의 하드펜싱 과정 60
그림 28. 노드펜싱(1/3) - 장애가 발생한 노드의 펜싱 과정 61
그림 29. 노드펜싱(2/3) - Replica의 개수를 유지하기 위해 복제하는 과정 61
그림 30. 노드펜싱(3/3) - Donor의 하드펜싱 과정 62
그림 31. 노드펜싱(1/2) - 장애가 발생한 노드의 펜싱 과정 62
그림 32. 노드펜싱(2/2) - Donor의 하드펜싱 과정 63
그림 33. 제안하는 아키텍처의 펜싱기법: DONOR 선출 과정 63
그림 34. 제안하는 아키텍처의 펜싱기법: DONOR의 장애 극복 과정 64
그림 35. 복제 및 동기화 - 시간과 빈도수에 따른 증분복제 66
그림 36. 실험 환경 - 노드 구성 69
그림 37. Quorum 제한 여부에 대한 장애극복 성능 72
그림 38. Quorum가 가용성에 미치는 영향 73
그림 39. 정족수 제한 여부에 대한 결함허용 노드 수 74