Google File System(2003) >> Google Map Reduce(2004) >> Hadoop(2005)
namenode(MASTER)
메타 데이터 블록 관리
Hadoop에 저장된 file을 클라이언트가 접근 할 수 있도록 지원
Datanode 모니터링
백업을 위한 File(Fsimage, Editlog)저장
datanode(SLAVE)
실제 데이터 저장
Hadoop Job(ex. Mapreduce)수행 시 Datanode에서 작업
Namenode에게 주기적으로 상태 정보 전송
RDMS
구조화된 데이터 // 데이터가 저장된 서버에서 처리 // scale-up방식// 높은 유지보수 비용 // 데이터 정형화 필요 // Ggabyte급 데이터 저장
- Scale- up 방식이란? >> adding more components in parallel to spread out a load
Hadoop
데이터 저장소 확장 가능 // 다양한 확장 가능(에코시스템) // scale-out 방식 // 낮은 유지 보수 비용 // 정형& 비정형 데이터 // Petabyte 급 데이터
- Scale - out 방식이란? >> making a component bigger or faster so that it can handle more load
HDFS
네트워크로 연결된 여러 컴퓨터에 file을 분산(Distribute)시켜 저장하는 File system
특징
대용량 데이터 분산 병렬 처리 -> File로 저장(file은 블록(64MB) 단위로 저장 )
장애 발생 해도 데이터 유실 방지(Fault Tolerance)
Namenode(Master) : file관리 Datanode(Slave) : file저장
Seconary Namenode: file 백업
1. Name node(MASTER): Data node를 관리, Hadoop에 저장된 file를 클라이언트가 접근 할 수 있도록 지원, 메타 데이터 & 블록관리( 하둡은 데이터를 저장할 때 블록 단위로 저장한다)
Data node(SLAVE): 실제 데이터가 저장되는 장소 , Namenode에게 주기적으로 상태 정보(HeartBeat와 Blcok Report)를 전송
Secondary Name node: Namenode의 File블록 저장 상태 기록, 장애 발생 시 기록했던 File로 장애 발생 시점 전의 데이터 복구(back-up)
MAPREDUCE
Fault Tolerace
Rebalancer
한계
1. 이중원화를 지원하지 않는다.
Hadoop 2 is also a Master-Slave architecture. But this consists of multiple masters (i.e active namenodes and standby namenodes) and multiple slaves
= Hadoop Distributed File System
= 데이터 저장의 분산 파일 시스템
provides for the storage of Hadoop. As the name suggests it stores the data in a distributed manner. The file gets divided into a number of blocks which spreads across the cluster of commodity hardware.
This is the processing engine of Hadoop. MapReduce works on the principle of distributed processing. It divides the task submitted by the user into a number of independent subtasks. These sub-task executes in parallel thereby increasing the throughput.
YARN 상에서 동작하는 분산 애플리케이션 중 하나이며, 분산 시스템에서 데이터 처리를 실행하는데 사용.
흩어져 있는 데이터를 수직화, 그 데이터를 각각의 종류별로 모으고(Map), 필터링과 정렬을 거쳐 데이터를 추출(Reduce)하는 분산처리 기술과 관랸된 FrameWork.
= Yet Another Resource Negotiator
JobTracker의 역할을 Resource Manager 와 Application Master로 분리
Resource Manager: 자원관리 담당
Application Master: Job에 대한 스케줄링과 모니터링 담당
출처: https://data-flair.training/blogs/how-hadoop-works-internally/
https://spidyweb.tistory.com/239?category=910416