순서
- 하둡의 데이터 처리 방식과 구성 요소
- 여러가지 모드(단일, 의사분산/의사, 완전분산)
- 기능의 이해(HDFS, MapReduce)
- 아키텍쳐(HDFS, MapReduce, YARN)
- 에코시스템
하둡의 데이터 처리 방식과 구성 요소
- 데이터 처리 방식
- 데이터 블록 전송 단계 하나의 파일을 여러 블록으로 나누어 클러스터에 있는 데이터 노드들에게 분산 저장
- 데이터 블록 복제 단계 하나의 블록은 여러 개의 복제본을 생성하여 분산 저장
- 프로그램 코드 전송 단계 패키지 된 프로그램 코드를 해당 노드들에게 전달
- 데이터 병렬 처리 단계 데이터를 병렬처리 할 수 있게 함
- 구성 요소
- 하둡 공통(Hadoop Common) : 하둡 기동 및 셧다운에 필요한 스크립트나 다른 모듈들에게 공통적으로 필요한 라이브러리 및 유틸리티로 JAR파일 형식. (자바 이클립스는 Maven Project로 새 프로젝트 생성)
- HDFS
- YARN
- 하둡 맵리듀스(Map Reduce)
여러가지 모드
하둡은 세 가지 다른 모드로 사용된다.
- 단일모드
- 데몬 프로세스 없이 모든 프로그램이 하나의 JVM 위에서 동작하는 모드
- 이 모드는 테스트 용도로만 추천하며 기본 모드이기 때문에 어떠한 다른 설정도 필요 없다. (분산 운영모드가 아니므로 실제 환경에서는 부적합)
- HDFS 파일이 아닌 로컬 파일 시스템 사용
- NameNode, DataNode, JobTracker, TaskTracker 같은 모든 데몬은 단일 자바 프로세스로 작동한다.
- 의사 분산 모드
- 1대의 컴퓨터에 하둡 데몬 프로세스가 여러개 분리되어 작동하는 모드. (실제로 물리적으로는 분산 되진 않았으나 그런 척 하도록 만드는 것)
- 단일모드와 마찬가지로 싱글노드에서 동작
- HDFS 사용, JVM 단 위에서 여러개의 자바 데몬 프로세스가 작동 가능
- 작은 규모의 클러스터를 테스트, 디버깅 하는 등에 사용
- 완전 분산 모드
- 하둡 데몬 프로세스가 클러스터로 구성된 여러 컴퓨터에 나누어 동작하는 모드
- 데이터들은 데이터 노드에, 이들에 대한 메타정보는 네임 노드에서 관리하는 운영모드
- 실제 환경에서 동작하고 운영하는 환경
기능의 이해
- 하둡 분산 파일 시스템(HDFS : Hadoop Distributed File System)
- 맵리듀스(MapReduce)
하둡은 위의 두 가지 핵심 개념을 위해 특별히 디자인되었다. 둘 모두 분산 작업에 관련되었다.
HDFS의 핵심은 분산 데이터 저장, 맵리듀스는 분산 데이터상에서 병렬처리를 수행하는