티스토리 뷰
우선 기본적인 하둡의 개념에 대해 아주 간략히 정리해보고자 한다.
하둡
소개: 빅데이터 에코시스템들의 대부분은 하둡을 위해 존재하고 하둡에 의존하여 발전하고 있다.
기능:
1. 대용랑 데이터를 분산 저장
2. 분산 저장된 데이터를 분석
공식 홈페이지: http://hadoop.apache.org
주요 구성 요소:
1. DataNode: 블록(64MB or 128MB) 단위로 분할된 대용량 파일들이 DataNode의 디스크에 저장 및 관리
2. NameNode: DataNode에 저장된 파일들의 메타 정보를 메모리상에서 로드 관리
3. EditsLog: 파일들의 변경(수정, 삭제 등) 이력 정보가 저장된 로그 파일
4. FsImage: NameNode의 메모리상에 올리와 있는 메타 정보를 스냅샵 이미지로 만들어 생성한 파일
5. Ver2.x:
A. Active/Stand-By NameNode: NameNode를 이중화, 서비스 중인 Active와 실패 처리를 대비한 Standby NameNode로 구성
B. MapReduce / Yarn: 하둡 클러스터 내의 자원을 중앙 관리, 다양한 애플리케이션이 실행 및 관리 가능하도록 확장성과 호환을 높인 하둡 2.x 플랫폼
C. ResourceManager: 하둡 클러스터 내의 자원을 중앙 관리, 스케쥴링 정책에 따라 자원 분배 실행 모니터링
D. NodeManager: 하둡 클러스터의 DataNode마다 실행, Container를 실행 시키고 라이프 사이클을 관리
E. Container: DataNode의 사용 가능한 리소스(Cpu, 메모리, 디스크 등)를 Container 단위로 할당 구성
F. ApplicationMaster: 애플리케이션이 실행되면 ApplicationMaster 실행, NodeManager에게 애플리케이션 실행할 Container 요청, 그 위에서 애플리케이션 실행 및 관리
G. JournalNode: 3개 이상의 노드로 구성, EditsLog를 각 노드에 복제 관리, Active NameNode는 EditsLog에 쓰기만 수행, Standby NameNode는 읽기만 실행
6. Ver1.x:
A. SecondaryNameNode: NameNode의 FsImage와 EditsLog 파일을 주기적으로 관리
B. MapReduce: DataNode에 분산 저장된 파일이 스플릿되어 다양한 연산 수행, 그 결과를 다시 병합하는 분산 프로그래밍 기법
C. JobTracker: 맵리듀스 잡 실행, 태스크에 할당, 전체 잡에 대해 리소스 분배 및 스케쥴링
D. TaskTracker: JobTracker가 요청한 맵리듀스 프로그램이 실행되는 테스크, 이때 맵 태스크와 리듀스 태스크가 생성
- 중앙정보처리학원
- 머신러닝
- mysql
- TDD
- 점프투파이썬
- spring
- Maven
- javascript
- Java
- executor
- tensorflow
- mybatis
- spark
- AI
- BigData
- AWS
- 모두의딥러닝
- Docker
- Error
- web
- 텐서플로우
- ML
- Gradle
- NIO
- memory
- 파이썬
- Configuration
- serverless
- API
- python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |