-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Hadoop 의 YARN 과 Eco System
YARN
- Yet Another Resource Negotiator
- 빅데이터의 지휘자 와 같은 역할
- 리소스를 분석해서 적절한 Job 에게 적절하게 할당함
- 하둡 클러스터에 데이터 처리를 동시에 담당
- Demon 을 통해 자원 관리 역할을 수행
- 태초의 리소스 매니저
- 각 Node 별로 Job Tracker (데몬) 가 있었는데,
- 얘가 상태를 Main Node 에게 알려줌
- 하둡은 이 정보를 토대로 잡 수행
- 그러나 하둡 클러스터 전체적인 관리는 못하여 활용도가 떨어지는 경우가 생김
- 이후에 Hadoop Cluster 에 YARN 이 추가됨
YARN 데몬
- 리소스 매니저 (RM, Resource Manager) + 노드 관리자 (NM, Node Manager)
- RM
- Hadoop Cluster 의 Master Node 에서 수행됨, 하나만 존재
- YARN 의 핵심이 되는 Manager
- 전체의 Resource 고려하여 Hadoop 의 Job 들의 스케줄링 담당
- NM
- 각 Node 에서 수행, 여러개 존재
- Resource Manager 와 각 노드와의 커뮤니케이션 담당
- Resource Manager 에게 각 Node 의 Resource 현황 알림
- 할당된 작업 수행 및 모니터링
YARN 을 이용한 어플리케이션 실행
- YARN 을 통해 Hadoop Job 이 실행되면, 어떤 절차가 일어날까?
- Hadoop Job 실행 시, RM 이 각각의 Slave Node 에 container 생성
- Slave Node 의 사용 가능한 리소스를 container 에 할당
- Memory, CPU 등
- 어플리케이션 시작되면, Application Master (AM) 라는 데몬이 생성됨
- 어플리케이션 당 한개
- 각 Node 의 Container 와 컨택하여 Job 수행
- Resource 가 추가로 필요하면, Container 를 더 요청하여 Job 수행 함
YARN 사용
- Hadoop 에서 YARN 과 관련된 툴 제공
- Hue Job Browser
- YARN Web UI
- YARN Command line
- Clouder 를 사용할 경우 YARN 관리자는 Cloudera Manager 를 사용함
- 개발자에게 유용함
Hadoop Eco System 이란
- 하둡 Eco System 이란
- HDFS, YARN 에 추가해서 선택적으로 사용 가능한 컴포넌트들
하둡 에코 시스템 종류
데이터베이스HBaseETL (데이터 추출)Apache SqoopETL (데이터 추출)Apache Flume데이터 처리Apache Pig데이터 처리Apache HiveWorkflowApache OozieSecurityApache SentryUIApache Hue
데이터베이스
HBase
- HDFS
- 성능은 향상되지만 파일 이용 시 제약 사항이 존재함
- 업데이트가 되지 않고 index 가 없음
- 순차적으로 read
- 특정 데이터에 대한 서치 어려움
- 성능은 향상되지만 파일 이용 시 제약 사항이 존재함
- 때문에 Hadoop 에서 Apache HBase 를 제공하고 주로 사용함
- Apache HBase: 하둡 데이터 베이스
- NoSQL 의 일종, HDFS 기반
- 빅데이터를 저장/관리할 수 있도록 확장 가능한 데이터베이스
- 수백테라, 페타바이트 가능
- 하나의 Table 에 수백,수천개의 Column 을 가질 수 있음
- 비정형 데이터 가능
- 각 row 에 대해서 insert, retrieve 가능
ETL (데이터 추출)
Apache Sqoop
- 데이터 소스에서 데이터를 ETL 작업을 수행하는 Eco-System
- SQL <-> HDFS
- SQL -> HDFS 로 읽어와 저장할 수 있음
- HDFS -> SQL 로 읽어와 저장할 수 있음
- cf. Apache Flume (로그 파일)
Apache Flume
- 서버의 로그 파일에서 데이터를 읽어서 가져옴
데이터 처리
- MR, Spark 는 난이도가 있음
Apache Pig
- Yahoo 에서 만듦
- 태초에는 Hadoop 을 다루기 쉬운 직관적인 스크립트 언어인
Pig Latin로 개발됨 - 아파치 프로젝트에서 채택되어
Apache Latin이 됨 - 실행 시 MR 이 알아서 만들어지고 실행됨
Apache Hive
- SQL 과 거의 유사한 SQL Style 의 언어 (HiveQL)
- Sqoop 과 결합하여 주로 사용
- HDFS 의 파일을 RDBS 처럼 보고 프로그램 처리
- 인터프리터가 클라이언트에 있음
- 실행 시 MR 이 알아서 만들어지고 실행됨
UI
Apache Hue
- Hadoop User Experience
- 웹 인터페이스 제공
- UI 로 데이터에 쉽게 접근 가능
- 데이터 업로드, 쿼리 수행 등이 쉬움
Workflow
Apache Oozie
- workflow: 조건에 따라 실행하는 흐름
- ex. 에러가 발생하면, 이런 메시지를 보내라 등
Security
Apache Sentry
- 사용자의 Access Control 담당
- 대부분의 Component 와 연계
참고
Reactions are currently unavailable





