** 하둡과 빅데이터 환경에서의 하둡 역할
하둡은 빅데이터를 처리하기 의해 고안됐다.
기업들이 하둡으로 처리하고 있는 데이터에는
클릭 스트림 데이터, 서버 로그, 세그먼트 데이터, 비정형 데이터, 지리적 데이터 등등이 있다.
하둡의 핵심 능력은 '데이터 지역성' 이다.
: 데이터가 저장되는 곳에서 데이터를 프로세싱
하둡은 HDFS 에 데이터를 저장하고 얀(하둡 리소스 관리 시스템)을 사용해 맵리듀스 프로세싱을 클러스터의 노드로 이동한다.
이런 맥락으로 보면 분산 파일 시스템은 데이터를 네트워크를 통해 분산 저장하고 관리하는 파일 시스템이라고 볼 수 있다.
HDFS 스케일 아웃 방식을 사용한다
- 데이터 사이즈가 커질수록 서버를 추가해 전체적인 저장능력을 증가시키는 방식
* 클러스터 컴퓨팅
클러스터 모델을 사용하는 이유는 큰 스케일의 데이터를 처리하는 것에 있다.
때문에 각각의 노드에서 실패한 작업을 단순히 실행하는 것은 의미가 없다.
* 하둡 클러스터들
: 하둡이 실행되는 머신들과 그 머신이 데이터를 저장하고 프로세싱하도록 하는 운영 시스템인
데몬, 소프트웨어 프로세스들로 구성된다.
구성 :
-하둡 프레임워크를 운영하는 데몬이 실행될 마스터 노드
-HDFS와 프로세싱을 담당하는 워커 노드들
-엣지 서버들 -> 하둡 클러스터에 접근하는 애플리케이션을 실행한다.
- 관계형 DB (하이브,스쿱,우지,휴 같은 프레임워크의 메타데이터 저장)
- 카프카, 스톰같은 특정 프레임워크를 위한 전용 서버들
하둡은 백그라운드에서 실행되는 일련의 데몬 프로세스들을 통해 스토리지와 프로세싱 역할을 수행한다. 리눅스 시스템에서 이런 데몬은 독립적인 JVM 내에서 동작한다.
클러스터의 노드 종류
1. 마스터 노드
: 클러스터의 작업을 중재한다. CLIENT들은 컴퓨팅을 하기 위해 마스터노드에 접속한다. 각각의 클러스터는 클러스터 크기에 따라 3~6개 정도로 소수의 마스터 노드들을 구성한다.
2. 워커 노드
: 마스터 노드의 지시에 따라 명령을 수행한다. 대부분의 클러스터 노드들은 워커 노드에 해당한다. 실제로 데이터가 저장되고 프로세싱하는 노드이다.
* 하둡이 효과적인 가장 큰 이유는 데이터를 네트워크로 이동하지 않는다. 프로세싱을 하는 노드로 데이터를 이동하는 대신 데이터가 저장된 노드에서 프로세싱한다. 우리는 HDFS 데이터가 저장된 노드로 작업 스케쥴을 조정할 수 있다. 이렇게 하면 네트워크 부담을 줄이고 I/O를 주로 로컬 디스크, 또는 같은 렉으로 제한할 수 있다.
* 하둡 컴포넌트, 하둡 생태계
기본 컴포넌트 위에 다른 컴포넌트를 추가할 수 있다. (EX. 하이브, 피그, 카프카, 스쿱 등)
컴포넌트를 추가하면, 하둡에 저장된 데이터를 처리하고 다른 데이터들과 통합할 수 있다.
** 하둡을 관리하는 것이 무엇인가?
* 하둡 관리
하둡은 장애허용 시스템이다.
하나의 물리적인 디스크나 시스템 전체가 잘못되더라도 실행하고 있는 job 을 망치지 않는다. 스토리지 문제로 인한 오류라면 하둡이 자동으로 다른 노드에서 같은 job 을 실행하기 때문이다.
'Data Engineering > Hadoop' 카테고리의 다른 글
하둡 설치 ) 네트워크 설정 - 1. SSH key 생성 및 교환 (0) | 2024.01.31 |
---|---|
Hadoop Yarn (0) | 2024.01.29 |
[Hive] - 특정 컬럼 제외 후 모두 선택 (0) | 2023.08.21 |
맥에서 brew 로 하둡 경로 찾기, 옵션넣기 (0) | 2021.07.20 |
HDFS (0) | 2021.07.20 |