본문 바로가기
IT이론/framework

하둡이란?

by 육지상어 2022. 3. 5.
728x90
반응형

하둡은 빅데이터 분산처리 프레임워크이다.

분산 코디네이터 -> zookeeper 분산 환경에서 다양한 상호 조정이 필요한 다양한 서비스를 제공하는 시스템. 통합 관리 ( 시스템 ) 

분산 리소스 관리 YARN - 작업 스케줄링 클러스터 리소스 관리, 맵리듀스 하이브 임팔리 스파크 등 어플리케이션 관리 ( 프로세스 )
mesos -> mesos( 클라우드 환경에 대한 리소스 관리 ) 는 리눅스 커널과 동일한 원칙을 사용하여 컴퓨터에 하둡, 스파크 카프카 엘라스틱 서치 등을 지원한다.

데이터 저장 

 Hbase 구글 -> 빅테이블 기반으로 된 비관계형 데이타베이스
HDFS 분산 파일 데이터 저장 애플리케이션에 대한 높은 처리량의 액세스를 제공하는 분산파일 시스템

kudu - 컬럼 기반 스토리지 -> 컬럼기반 스토리지로 하둡 에코 시스템이 새로 추가되어 급변하는 데이터에 대한 빠른 분석을 위해 설계되었다. 

데이터 수집 

chukwa는 분산 환경에서 생성되는 데이터를 안정적으로 HDFS에 저정하는 플랫폼 
대규모 분산 시스템을 모니터링하기 위한 시스템으로 HDFS 및 맵리듀스에 구축되어 수집된 데이터를 최대한 활용하기 위한 모니터링 및 유현한 툴킷을 포함

flume > 많은 양의 데이터를 수집 집계 및 이동하기 위한 분산형 서비스 

scribe -> 페북에서 개발한 데이타 수집 플랫폼. 데이터를 중앙 서버로 전송하는 방식이다. 

kafka - > 카프카는 데이터 스트리밍을 실시간으로 관리하기 위한 분산 시스템으로 대용량 이벤트 처리를 위해 개발되었습니다.

데이터 처리 

pig - 하둡에 저장된 데이터를 맵리듀스 프로그램을 만들지 않고 sql과 유사한 스크립트를 이용해 데이터를 처리, 맵리듀스 api를 매우 단순화한 형태로 설계 

mahout -> 분석 기계학습이 필요한 알고리즘을 구축하기 위한 오픈소스 프레임워크, 클러스터링 필터링 마이닝 회긔분석 등 중요 알고리즘을 지원하고있다. 

spark -> 대규모 데이터 처리를 위한 빠른 속도로 실행시켜주는 엔진, 스파크는 병렬 어플리케이션을 80개 이상 고급 연산자를 제공하여 파이썬 R 등에서 대화형 사용 가능

impala -> 임팔라는 하둡 기반 분산 엔진으로 멥리듀스를 사용하지않고 c++로 개발한 인 메모리 엔진을 사용한다. 

hive -> 하둡 기반 데이터 솔루션으로 자바를 몰라도 데이터를 분석하게 도와준다. SQL과 비슷한 hiveQL이라는 언어를 제공하여 데이터 분석을 쉽게 할 수 있다. 

맵리듀스- > 맵-> 분산처리 , 다시 합치는 reduce 

하둡 분산형 파일 시스템 -> 하둡 
HDFS는 여러 기계에 대용량 파일을 나눠서 저장한다. 데이터들을 여러 서버에 중복해서 저장함으로써 데이터 안정성얻는다. 

특징
1. 다수의 노드에 복제 데이터도 함께 저장해서 데이터 유실을 방지한다.
2, HDFS에 파일을 저장하거나 저장된 파일을 조회하려면 스트리밍 방식으로 데이터에 접근해야한다.
3. 한번 저장한 데이터는 수정 불가, 읽기만 가능해서 데이터 무결성 유지 
4. 수정은 불가하지만, 파일 이동 삭제 복사는 할 수 있다.

HDFS( 하둡 디스트리뷰트 파일 시스템 ) 는 마스터 슬레이브 구조를 가진다. 하나의 네임 노드와 파일 시스템을 관리, 클러스터의 각 노드에는 데이터 노드가 하나씩 존재하고, 이 데이터 노드는 실행될 때 마다 노드에 추가되는 스토리지를 관리한다. HDFS는 네임스페이스를 공개해서 유저 데이터가 파일에 저장되는 것을 허락한다. 

네임노드는 파일과 디렉터리 읽기 닫기 이름 바꾸기 등 파일 시스템 네임프세이스 여러 기능을 수행한다. 

또한 데이터 노드와 블록들의 맵핑 결정 . 데이터노드는 클라이언트가 요구하는 읽기와 쓰기 기능을 담당.

맵리듀스란? 

맵 - 흩어져 있는 데이터를 연관성 있는 데이터들로 분류하는 작업 ( key value 형태 )
리듀스 - 맵에서 출력된 데이터에서 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업 

맵리듀스 잡 : 클라이언트 수행 작업 단위 
맵리듀스 시스템은 클라이언트 잡트렉커 테스크 트렉커로 실행한다. (맵 테스크와 리듀스 테스크로 작업을 나누어서 실행 )

클라이언트 - 분석하고자 하는 데이터를 잡 형태로 잡트레커에게 전달
잡 트래커 네임노드에 위치 , 하둡 클러스터에 등록된 전체 잡을 스케줄링하고 모니터링
테스크 트레커 - 데이터노드에 실행되는 데몬, task를 수행하고 잡트래커에 상황 보고

반응형

'IT이론 > framework' 카테고리의 다른 글

자바 스프링 개념 중요 개념 정리  (0) 2021.11.23
nodejs 개발 환경을 세팅해보자 - 1  (0) 2021.09.21

댓글