시스템구조

빅데이터_하둡(Hadoop), 스파크 스톰, Zookeeper, HBase, Pig, Hive, impala, Tajo, Mahout, Giraph, Map-Reduce, HDFS, Chukwa, Flume, Scribe, Sqoop, hiho, 얀, 머하웃

스윙스윙 2021. 10. 21. 13:55

▣ 빅데이터_하둡(Hadoop), 스파크 스톰, Zookeeper, HBase, Pig, Hive, impala, Tajo, Mahout, Giraph, Map-Reduce, HDFS, Chukwa, Flume, Scribe, Sqoop, hiho, 얀, 머하웃

구분 프로젝트 설명
분산 코디네이터 Zookeeper 분산 환경에서 서버들간에 상호 조정이 필요한 다양한 서비스 제공
워크플로우관리 Oozie 하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템
분산 데이터 베이스 HBase HDFS 기반의 칼럼 기반 데이터 베이스이며, 실시간 랜덤 조회 및 업데이트 기능
데이터 분석 Pig 야후에서 개발된 하둡용 데이터 질의 솔루션
복잡한 MapReduce 프로그래밍을 대체할 Pig Latin이라는 자체 언어 제공
MapReduce API를 매우 단순화시키고, SQL과 유사한 형태
하둡 맵리듀스 위에서 동작하는 추상화된 병렬 처리 언어
Hive 페이스북에서 개발된 DW 솔루션, Pig와 달리 SQL과 유사한 HiveQL이라는 쿼리를 제공하고 HiveQL이 MapReduce프로그래밍을 대신 수행함
하둡 기반의 데이터웨어하우징
impala 클라우데라에서 개발된 데이터 질의 솔루션, Hive와 같은 형태이나 HiveQL이 MapReduce 프로그래밍을 사용하지 않고 SQL 질의를 수행
Tajo impala와 동일하게 MapReduce를 쓰지 않으며, SQL 표준 호환을 지원하여 질의를 수행
데이터 마이닝 머하웃
(Mahout)
하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스이며, 분류, 클러스터링, 추천 및 협업 필터링, 패턴 마이닝, 회귀 분석, 차원 리덕션, 진화 알고리즘 등 중요한 알고리즘을 지원함
Giraph 네트워크 데이터 분석 솔루션
Rhadoop 하둡의 데이터를 활용하여 R에서 분석 가능하게 한 솔루션
메타데이터 관리 HCalalog 하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스
직렬화 Avro RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크
분산형 프로그램밍
프레임 워크
Map-Reduce 맵(Map)은 흩어져 있는 데이터를(key, Value)형태의 연관성 있는 데이터로 분류해 묶는 작업
리듀스(Reduce)는 맵에서 만든 데이터 중 중복된 것을 제거하고 원하는 데이터만 추출하는 작업
맵 -> 셔플 -> 리듀스 (셔플 : 정렬, 파티셔닝 작업)
분산데이터 처리 HDFS 다수의 시스템 노드에서 대용량 파일을 저장 및 복제하는 분산 파일 시스템
블록 단위 파일 보관(기본설정 : 64M)
하나의 네임 서버와 다수의 데이터서버로 구성
네임노드는 파일시스템의 네임스페이스를 관리하면서 클라이언트의 접근 요청을 처리함, 데이터노드는 파일 블록이 저장
비정형데이터 수집 Chukwa 분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장시키는 플랫폼
Flume Chukwa처럼 분산된 서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜랙터로 구성됨
Scribe 데이터를 중앙 집중 서버로 전송하는 데이터 수집 플랫폼
정형데이터 수집 Sqoop HDFS, RDBMS, DW, NoSQL, MySQL, PostgreSQL, 사이베이스 등 다양한 저장소에 대용량 데이터를 신속하게 전송할 수 있는 솔루션 / JDBC를 지원하는 대부분의 관계형 데이터베이스와의 연동을 지원
Hiho Sqoop과 같은 대용량 데이터 전송 솔루션
리소스 매니지먼트
Hadoop 2.0
Yarn
(Yet Another
Resource Negotiator)
Resource Manager 클러스터의 전반적인 자원관리와 스케쥴러
Application Master 노드 매니저들의 자원상태를 관리하고 부족한 리소스 할당
NodeManager 리소스 사용량 모니터링하고 Resource manager에게 정보를 알림
yarn 때문에 spark과 같은 분산 처리 모델도 수행이 가능해 졌음
웹 크롤링 Nutch 웹 검색
실시간 분석 검색 Lucene 검색엔진

 

* 카프카(Kafka) : 데이터 파이프라인(Data Pipeline)을 구축시 활용 아파치 카프카(Apache Kafka)는 링크드인(LinkedIn)에서 처음 개발된 분산 스트리밍 플랫폼 / 메시징, 메트릭 수집, 로그 수집, 스트림 처리 등 다양한 용도로 사용할 수 있음

Kafka는 발행-구독(Pub/Sub)모델을 기반으로 동작함. 발행-구독 모델은 발행자(Producer)가 메시지를 특정 수신자에게 직접 보내는 방식이 아니라 주제(topic)에 맞게 브로커에게 전달하면 구독자(Consumer)가 브로커에 요청해서 가져가는 방식임

 

* 스파크 스톰(Spark Storm) : 실시간 스트리밍 처리, 스트림(듀플), 인메모리 기반, 주 프로그래밍 언어 Clojure
사용자 질의에 대한 응답시간이 짧고 동일한 데이터에 대하여 다양한 질의 형태가 존재하는 시스템에 적합

 

* 클로저(Clojure) : 리치 히키(Rich Hickey)가 만든 리스프 프로그래밍 언어의 방언으로서, 범용 함수형 언어임

이 언어는 불변값과 시간-진행 구문을 통한 프로그래밍을 강조하는데, 이는 보다 탄탄한 프로그램, 특히 멀티스레드 프로그램의 개발을 용이하게 하기 위함

 

*아파치 플룸(Aparche Flume) : 많은 양의 로그 데이터를 효율적으로 수집, 취합, 이동하기 위한 분산형 소프트웨어임

스트리밍 데이터 플로 기반의 단순하고 유연한 아키텍처를 갖추고 있으며, 튜닝 가능한 신뢰성 매커니즘과 수많은 대체작동 및 복구 매커니즘을 갖추고 있어서 고장 방지 기능이 제공됨


2017년 78번

정답 : 1번

Apache Storm: 트위터 서비스에 사용된 실시간 분석 분산 시스템

Hadoop 과 다르게 배치 처리 중심의 데이터 처리가 아니라 실시간 스트림 데이터 분석을 수행함
Facebook Scribe, Cloudera Flume , Linkedin Kafka 등은 실시간 데이터 수집 주로 Log 정보 플랫폼임

 


2017년 85번

정답 : 1번

분산 코디네이터인 Zookeeper는 분산 환경에서 서버들간에 상호 조정이 필요한 다양한 서비스 제공

 


2021년 87번

정답 : 1번

머하웃(Mahout)

하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스이며, 분류, 클러스터링, 추천 및 협업 필터링, 패턴 마이닝, 회귀 분석, 차원 리덕션, 진화 알고리즘 등 중요한 알고리즘을 지원함

 

* 카프카(Kafka) : 데이터 파이프라인(Data Pipeline)을 구축시 활용 아파치 카프카(Apache Kafka)는 링크드인(LinkedIn)에서 처음 개발된 분산 스트리밍 플랫폼

메시징, 메트릭 수집, 로그 수집, 스트림 처리 등 다양한 용도로 사용할 수 있음

Kafka는 발행-구독(Pub/Sub)모델을 기반으로 동작함. 발행-구독 모델은 발행자(Producer)가 메시지를 특정 수신자에게 직접 보내는 방식이 아니라 주제(topic)에 맞게 브로커에게 전달하면 구독자(Consumer)가 브로커에 요청해서 가져가는 방식임

 

* 스파크 스톰(Spark Storm) : 실시간 스트리밍 처리, 스트림(듀플), 인메모리 기반, 주 프로그래밍 언어 Clojure
사용자 질의에 대한 응답시간이 짧고 동일한 데이터에 대하여 다양한 질의 형태가 존재하는 시스템에 적합

 

* 클로저(Clojure) : 리치 히키(Rich Hickey)가 만든 리스프 프로그래밍 언어의 방언으로서, 범용 함수형 언어임

이 언어는 불변값과 시간-진행 구문을 통한 프로그래밍을 강조하는데, 이는 보다 탄탄한 프로그램, 특히 멀티스레드 프로그램의 개발을 용이하게 하기 위함

 

*아파치 플룸(Aparche Flume) : 많은 양의 로그 데이터를 효율적으로 수집, 취합, 이동하기 위한 분산형 소프트웨어임

스트리밍 데이터 플로 기반의 단순하고 유연한 아키텍처를 갖추고 있으며, 튜닝 가능한 신뢰성 매커니즘과 수많은 대체작동 및 복구 매커니즘을 갖추고 있어서 고장 방지 기능이 제공됨

 


2013년 90번

정답 : 4번

이름노드에 저장되는 것이 아니라 데이터노드(Data Node)에 저장됨

 


2014년 97번

정답 : 4번

하둡 프레임워크를 구성하는 핵심 요소이며 아파치 소프트웨어 재단에서 관리되는 비관계형 분산 데이터베이스는 HBase

- 아파치 재단에서 발표한 빅데이터 저장, 분석, 활용 기술로서 대용량 데이터 처리 분석을 위한 대규모 분산 컴퓨팅 지원 프레임워크(오픈소스)

- 하둡 플랫폼은 하둡 분산 파일 시스템(HDFS), 분산 처리를 위한 프레임워크 맵리듀스(MapReduce)가 핵심이며 그 외에 분산 데이터베이스인 HBase, 검색엔진인 너치(Nutch), 관계형 대수쿼리 언어 인터페이스인 피그(Pig), 데이터웨어하우징 솔루션인 하이브(Hive), 테이블 스토리지 관리 서비스인 H카탈로그 등이 포함됨

- 빅데이터는 단순히 큰 데이터 뿐만 아니라 분석 가치가 있는 큰 데이터와 그것을 분석하는 도구, 플랫폼, 분석기법까지 의미하는 것인데 이러한 데이터를 분석하기 위해서는 기존의 방식으로는 엄청난 수의 서버 등의 자원이 필요하게 됨 -> 이것을 해결해 줄 수 있는 것이 하둡

 


2015년 91번

정답 : 1번

데이터 엑세스를 스트리밍 방식으로 요구하는 응용 분야는 HDFS에 어울리는 분야임

데이터를 실시간이 아니라 일관(배치)처리하므로 스트리밍 방식 데이터가 처리하기 유리함

 

HDFS는 빅데이터(대용량 데이터) 처리를 위한 것임

대용량 데이터 처리를 위해 일괄(배치)처리를 함

빠른 응답처리는 어려움 처리는 어려움. 처리를 위해 수초~수시간의 처리시간이 필요

대용량 데이터 처리를 위해 신뢰성을 포기함

읽기는 가능하지만 수정이 어려움

대용량 데이터 처리를 위해 큰 덩어리로 된 데이터 처리에 적합함. 작은 덩어리 여러개로 된 것은 처리 시간이 오래 걸리게 됨