issues
search
snaag
/
snaag.github.io
https://snaag.github.io/
1
stars
0
forks
source link
하둡이란 무엇인가?
#9
Open
snaag
opened
1 month ago
snaag
commented
1 month ago
Reference
https://www.youtube.com/watch?v=k9ZpWeJo-to
https://www.youtube.com/watch?v=F3WYFH_Ectc&list=PLlDNa_0Pv4jpAqw9kaGvKCU4T41tMPRUl
하둡 완벽 가이드 (톰 화이트)
snaag
commented
1 month ago
Hadoop 이 뭘까
대용량 데이터 저장/처리 위한 오픈소스
엄청난 데이터들을 하나의 비싼 장비가 아닌, 200~500 만원대의 저렴한 컴퓨터들을 여러대 사용해서 처리하는 것
GFS 의 영향 받음
하둡이 내세운 새로운 관점
과거에는 크기가 얼마던, 메모리 등으로
옮겨와서
한번에
처리
하는 식이었음 -> Computation 이 중요
하둡은 옮기지않고,
데이터가 저장된 곳
에서 프로그램이 처리하는 방식임
(분산해서) 저장 담당 = HDFS
데이터가 있는 곳에서 처리 되는 것 = MapReduce
이 둘을 Hadoop Core 라고 함
Hadoop Core
하둡 클러스터는 수백~수천개의 서버로 이루어져있음
Hadoop Core 는 아래 세 가지의 중요한 컴포넌트를 기반으로 함
Storage
HDFS (분산 파일 시스템)
파일들은 하둡 클러스터에 분산 저장됨
프로세싱
분산된 데이터를 처리함
MapReduce
프레임워크
Mapper 로 각각 분산되어있는 데이터를 처리 후, Reducer 에서 모아 연산을 처리함
분산처리에 필요한 불필요한 작업들을 자동으로 처리함으로써, 개발자들은 신경쓰지 않아도 됨
Spark
MapReduce 작업을 디스크 기반이 아닌,
메모리 기반 (In-Memory)
으로 옮겨 고속화
리소스 관리
YARN
Hadoop Cluster 를 구성하는 모든 서버의 CPU, 메모리 및 스토리지 용량을 파악함
제출된 Hadoop Application 이 최적으로 수행할 수 있게 리소스 관리 할당
하둡의 빅데이터 처리 과정
데이터 추출 및 스토리지
HDFS 를 사용하여, 다양한 소스로부터 생성된 다양한 형식의 데이터를 하둡 클러스터로 모음
데이터의 형식: RDBMS, Log 데이터, JSON 파일, 텍스트 파일, 이미지 파일 등등...
이 때
Scoop
,
Flip
등을 이용하여 보다 쉽게 추출할 수 있음
데이터 스토리지
HDFS (Hadoop Distributed File System)
Hadoop core 의 컴포넌트 중 하나로,
메인 Storage
를 담당
크고 경제적인
분산 스토리지
64MB, 128MB 라는 대용량 블록 사용
최소 3개의 복사본 사용
성능 향상 및 안정성
Apache HBase (Apache 하둡 데이터베이스)
Hadoop 에서 실행되는 NoSQL 데이터베이스
데이터의 사이즈에 따라 확장 가능한 (Scalable) 시스템
테이블 하나가 수 천 개의 컬럼을 가질 수 있음
(?) Hadoop Core > Storage 에 왜 안속해있는겨? Apache 껀데
데이터 프로세싱 (MapReduce)
오리지널 Hadoop 프레임워크로, HDFS 만 지원함
기본적으로 Java 로 구현하나, Python 등도 가능
Map + Reduce
Map
흩어져 있는 데이터를 Key, Value 의 형태로 연관성 있는 데이터로 묶는 작업
Reduce
Filtering 과 Sorting 을 거쳐 데이터를 추출, Map 화환 작업 중 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업
데이터를
분산
해서
처리
하는 분산 프로그래밍 모델
분산 처리 기술과 관련된 프레임워크를 의미함
데이터 프로세싱 (Apache Spark)
대용량 데이터 처리를 지원하는 프로세싱 엔진
대부분의 FileSystem 를 지원함 (cf. Hadoop MR)
In-Memory 기반 분산 고성능 클러스터 플랫폼
하둡의 MR 작업을 디스크 기반이 아닌, 메모리 기반 (In-Memory) 으로 옮겨 고속화
'하둡을 메모리 기반으로 옮긴 것이다' 라고 이해하면 쉬움
데이터 분석: Apache Hive
쿼리 엔진이라고 부르기도 함
빅 데이터 환경에서 SQL과 유사한 방식으로 데이터를 쉽게 조회하고 분석할 수 있게 해주기 때문
HiveQL (SQL과 유사) 로 쿼리를 작성하면 MapReduce 작업으로 변환함
따라서 사용자는 복잡한 Java MapReduce 프로그램을 직접 작성하지 않고도, 빅 데이터를 쉽게 처리할 수 있음
데이터 검색: Cloudera Search
하둡에서 사용되는 텍스트 기반의 데이터 검색 엔진
주로 Cloudera의 Hadoop 사용자를 대상으로 하며, 빅 데이터 세트에서 실시간으로 검색하고 분석하는 데 특화
쉽게 Hadoop 데이터에 접근할 수 있음
데이터 검색: Apache Solr
Apache Lucene을 기반으로 한 오픈 소스 검색 플랫폼
다양한 환경에서 사용될 수 있고, 다른 데이터 소스와의 통합을 위해 다양한 커뮤니티 리소스와 플러그인을 제공
ex. Hue 를 통해 웹 인터페이스 제공
일반적인 검색 애플리케이션에 널리 사용되며, 웹사이트, 기업 내 검색 솔루션 등 다양한 목적으로 활용
추가 질문
/w GPT4
Hadoop Core > Storage 에 왜 안속해있는겨? Apache 껀데
Spark 는 보다
범용적인 용도
로 다양한 곳에서 사용되기 때문인듯함
하둡의 클러스터란?
하둡에서 '클러스터'는 여러 대의 컴퓨터(또는 노드)가 네트워크를 통해 연결되어 하나의 기능을 수행하도록 구성된 전체 시스템을 의미
하둡의 클러스터는 여러개인가? 아니면 하나인가?
하둡 시스템은 보통
하나의 큰 클러스터로 구성되는 것이 일반적
Reference