Hadoop Overview 2008.01.15 유현정. Hadoop Brief History –2005 년 Doug Cutting(Lucene & Nutch 개발자 ) 에 의해 서 시작 Nutch 오픈소스 검색엔진의 분산확장 이슈에서 출발 –2006 년 Yahoo 의.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

SPEAKER VERIFICATION SYSTEMS 대화형 사용자 인터페이스 개론 정보와 추론 연구실.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
ScanMail for Lotus Notes ( 주 ) 한국트렌드마이크로. RUNNING HEADER, 14 PT., ALL CAPS, Line Spacing=1 line ScanMail Notes 의 주요 기능 Domino 환경의 Antivirus, Content Filter.
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
1)RACK 2)UPS 3)P D U 장치 4)Server Group 5)KVM Switch 7)UPS 를 위한 HUB 6) RACK Monitor.
구축사례 ( 농협 ) 구축기간 구축목적 특이사항 2001년3월 ( 지속적인 증설 진행중 )
2016 유성환 Hybrid MOBILE.
컴퓨터와 인터넷.
Oozie Web API 기능 테스트 이승엽.
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
뇌를 자극하는 Windows Server 2012 R2
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
SAS Foundation Client 9.4 설치 가이드
Windows Server 장. Windows Server 2008 개요.
7장 : 캐시와 메모리.
뇌를 자극하는 Windows Server 2012 R2
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
11 장 LAN 기본 개념과 Ethernet LAN
Root Filesystem Porting
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
4. LAN의 배선체계 (3장. LAN: Local Area Network)
FTP 프로그램의 활용 FTP 프로그램의 용도 인터넷 공간에 홈페이지 파일을 업로드할 때 필요
보조저장장치 구조(Secondary Storage Structure)
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
Wireless Java Programming
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Grade Server Team14. Attention Seeker
P2P시스템에 대해서 (peer to peer)
Cache Manager Yonghyun Kim Microsoft MVP Dev 5 team leader, ESTsoft
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
RMI Messenger 지도 : 김정배 교수님 조봉진.
Go Lang 리뷰 이동은.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
USN(Ubiquitous Sensor Network)
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
분산 파일 시스템의 구조 GFS 와 CEPH SW공학센터 융합SW공학팀 장원석 책임 연구원
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
데이터 베이스 DB2 관계형 데이터 모델 권준영.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Teaming pms.
Chapter 27 Mobile IP.
뇌를 자극하는 Solaris bible.
LAN의 구성요소 학습내용 서버 클라이언트 NIC(Network Interface Card) 전송매체
Introduction to JSP & Servlet
Viewing Advanced Web Pages
AT MEGA 128 기초와 응용 I 기본적인 구조.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
모바일(폰)메일 서비스 정흠수 최동훈.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
소리가 작으면 이어폰 사용 권장!.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CHAP 15. 데이터 스토리지.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

Hadoop Overview 유현정

Hadoop Brief History –2005 년 Doug Cutting(Lucene & Nutch 개발자 ) 에 의해 서 시작 Nutch 오픈소스 검색엔진의 분산확장 이슈에서 출발 –2006 년 Yahoo 의 전폭적인 지원 (Doug Cutting 과 전담 팀 고용 ) –2008 년 Apache Top-level Project 로 승격 – 현재 (2009.1) release

Hadoop Java 기반 언어 Apache 라이선스 많은 컴포넌트들 –HDFS, Hbase, MapReduce, Hadoop On Demand(HOD), Streaming, HQL, Hama, etc

Hadoop Architecture

Hadoop 주요 기능 –Distributed File System –Distributed computing Distributed File System(DFS) – 네트워크로 연결된 서버들의 저장공간을 하나로 묶은 대용량 가상공 간에 파일들을 저장하는 시스템 – 전세계의 웹 페이지에 있는 내용을 분석하여 구성한 index 파일과 같 은 대용량과 동시에 엄청난 양의 transaction 을 처리해야 하는 요구사 항에 부합되도록 설계 – 종류 NHN + KAIST 가 공동으로 개발한 OwFS(Owner based File System) Sun Microsystems 의 NFS Microsoft 의 분산 파일 시스템 IBM 의 Transarc's DFS

Google File System(GFS) Hadoop 의 DFS 는 Google File System(GFS) 의 기본 개념을 그 대로 가져와 구현함 GFS 의 특징 –PC 와 같은 일반적으로 값싼 장비를 이용한다 –NAS 등과 같은 고비용의 장비를 사용하지 않고 소프트웨어로 해결한 다 – 많은 수의 대용량 파일 ( 수백 MB~ 수 GB) 을 처리할 수 있어야 한다 – 추가로 데이터에 대한 백업을 하지 않는다 – 장비의 추가 및 제거가 자유로워야 한다 – 특정 노드 장애 시에도 별도의 복구 절차 없이 지속적인 서비스 제공 이 가능하다

Google File System(GFS) 두 개의 데몬 서버 ( 사용자 application 수준 ) –GFS master : 파일 이름, 크기 등과 같은 파일에 대한 메타데이터 관리 –GFS chunkserver : 실제 파일을 저장하는 역할 수행 수백 MB ~ 수 GB 이상의 크기의 파일 하나를 여러 조각으로 나눈 후, 여러 chunkserver 에 저장 나누어진 파일의 조각 = chunk (default, 64MB) GFS Client : 데몬 서버들과 통신을 통해 파일 처리 – 파일의 생성, 읽기, 쓰기 등의 작업을 수행하는 역할 –API 형태로 제공되고 내부적으로 socket 등의 통신을 이용하여 서버와 통신

Google File System(GFS) 동작 방식 –1. Application 은 File System 에서 제공하는 API 를 이용하여 GFS Client 코드를 생성하 여 파일 작업 요청 –2. GFS Client 는 GFS master 에게 해당 파일에 대한 정보 요청 –3. GFS master 는 자신이 관리하는 파일 메타 데이터에서 client 가 요청한 파일의 정보를 전달 전달되는 데이터는 파일 크기와 같은 정보와 조각으로 나뉘어진 chunk 수, chunk size, chunk 가 저장된 chunkserver 의 주소 값 등 –4. GFS client 는 해당 chunk 가 저장되어있는 chunkserver 로 접속한 후 파일 처리 요청 –5. GFS chunkserver 는 실제 파일에 대한 처리 수행  Client 와 master 사이에는 파일에 대한 정보만 주고 받을 뿐, 실제 파일 데이 터의 이동 및 처리는 client 와 chunkserver 사이에서 발생  Master 의 부하를 최소화 하도록 하기 위한 것

Google File System(GFS) Replication – 가장 큰 특징 중 하나 –Chunk 를 하나의 chunkserver 에만 저장하는 것이 아니 라 여러 개의 chunkserver 에 복사본을 저장 Default : 3 개의 복사본 –Chunkserver 의 down 등으로 인해 정해진 복사본 수만 큼 가지고 있지 않는 경우, master 는 새로운 복사본을 만들도록 관리

Google File System(GFS) Replication 의 장점 –chunk 를 저장하고 있는 chunkserver 가 down 되어도 장애 없이 서비스를 제공할 수 있다 – 항상 복사본이 존재하고 있기 때문에 파일 시스템 수준 에서 RAID1 수준의 미러링 백업을 제공 실제로 Google 은 NAS 와 같은 고비용의 스토리지 장비를 사 용하지 않기 때문에 Yahoo 와 같은 다른 경쟁업체에 비해 월등 하게 싼 가격으로 시스템을 운영하고 있다 – 특정 파일 또는 chunk 를 읽기 위한 접근이 집중되는 경 우, 하나의 chunkserver 로 집중되는 부하를 분산시킬 수 있으며 서버에 대한 분산뿐만 아니라 Disk head 와 같은 물리적인 장치에 대한 분산 효과

Google File System(GFS) Replication 의 단점 –Google File System 에서는, 복사본을 동기적인 방식으로 생성한 다. 이것은 파일을 생성하는 시점에 복사본까지 완전히 저장된 후 에 파일 생성에 대한 완료처리를 한다는 것이다. 따라서, 일반 파 일 시스템에 비해 기본적으로 3 배 이상의 write 속도 저하가 발생 한다. Google File System 의 경우, 온라인 실시간 시스템에서는 사용하기 부 적합 할 수 있으며 파일을 한번 생성한 다음부터는 계속해서 읽기 작업만 발생하는 시스템에 적합하다고 할 수 있다. 대표적인 서비스들 : 검색, 동영상, 이미지, 메일 (Mime 파일 ) 등이다 –3 개의 복사본을 저장하기 때문에 3 배의 디스크 공간 필요 Google File System 의 경우, 기본적으로 PC 에 붙어 있는 값싼 디스크도 사용할 수 있기 때문에 NAS 와 같이 고비용의 스토리지를 사용하는 엔터 프라이즈 환경에서는 단점이라고 할 수 없다.

Hadoop Distributed File System(HDFS) 순수한 자바 파일 시스템 기존의 분산 파일 시스템과 많은 유사성을 갖고 있 으면서도 커다란 차이점이 있음. –highly fault-tolerant –Low-cost hardware 를 통해 배포할 수 있도록 설계 –Application data 접근에 높은 처리량 제공 –Suitable for application having large data sets

Assumptions & Goals of HDFS 1. hardware failure –An HDFS instance may consist of hundreds or thousands of server machines, each storing part of the file system’s data. –The fact that there are a huge number of component and that each component has a non-trivial probability of failure means that some component of HDFS is always non- functional. – 따라서, 결함의 탐지와 빠르고 자동적인 복구는 HDFS 의 핵 심적인 구조적 목표.

Assumptions & Goals of HDFS 2. Streaming Data Access –HDFS 는 batch processing 에 적합 –HDFS is optimized to provide streaming read performance; this comes at the expense of random seek times to arbitrary positions in files. –HDFS relaxes a few POSIX requirements to enable streaming access to file system data. – 강점 : high throughput of data access *POSIX(Potable Operating System Interface) 유닉스 운영체제에 기반을 두고 있는 일련의 표준 운영체제 인터페이스

Assumptions & Goals of HDFS 3. Large Data Sets –HDFS 의 applications 는 large data sets 를 가짐 –HDFS 에서의 일반적인 파일 크기 : gigabytes to terabytes – 따라서, HDFS 가 대용량 파일들을 제공할 수 있도록 조 정됨 높은 aggregate data bandwidth 와 단일 클러스터에서 수백개 의 nodes 로의 확장을 제공해야 함 단일 instance 에서 수 천만 파일을 제공해야 함

Assumptions & Goals of HDFS Simple Coherency Model –HDFS’s applications need a write-once-read-more access model for files. – 이러한 가정은 data coherency issues 를 단순화하고 높은 처리량의 데이터 접근을 가능하게 함 –A Map/Reduce application or a web crawler application fits perfectly with this model. – 추가 쓰기 (appending-writes) 를 앞으로는 제공할 계획 Scheduled to be included in Hadoop 0.19 but is not available yet

Assumptions & Goals of HDFS “Moving Computation is Cheaper than Moving Data” –Application 에 의해 요청된 computation 은 데이터 근처에서 실행될 때 더 효과적 – 특히, data sets 의 사이즈가 대단히 클 때 –This minimizes network congestion and increase the overall throughput of the system –The assumption is that is often better to migrate the computation closer to where the data is located rather than moving the data to where the application is running. – 따라서, HDFS 는 데이터가 위치한 곳 가까이 application 들을 옮길 수 있는 interface 를 제공

Assumptions & Goals of HDFSkjuo 6. 이종 하드웨어와 소프트웨어 플랫폼으로의 이 식성 –HDFS 는 한 플랫폼에서 다른 플랫폼으로 쉽게 이식할 수 있도록 디자인됨 –This facilitates widespread adoption of HDFS as a platform of choice for large set of applications.

Features of HDFS A master/slave architecture A single NameNode, a master server for a HDFS cluster –manages the file system namespace Executes file system namespace operations like opening, closing, and renaming files and directories –regulates access to files by clients –Determines the mapping of blocks to DataNodes  Simplifies the architecture of the system  NameNode = arbitrator and repository for all HDFS metadata

Features of HDFS A number of DataNodes, usually one per node in the cluster –Manages storage attached to the nodes that they run on Perform block creation, deletion, and replication upon instruction from the NameNode

Features of HDFS The NameNode and DataNodes are pieces of software designed to run on commodity machines. These machines typically run a GNU/Linux OS. Using the Java language; any machine that supports Java can run the NameNode or DataNode software.

Features of HDFS A typically deployment has a dedicated machine that runs only the NameNode software. Each of the other machines in the cluster runs one instance of the DataNode software -> The architecture does not preclude running multiple DataNodes on the same machine but in a real deployment that is rarely the case.

Features of HDFS Single namespace for entire cluster –Managed by a single NameNode –Files are write-once –Optimized for streaming reads of large files Files are broken in to large blocks –HDFS is a block-structured file system –Default block size in HDFS : 64 MB vs. in other systems : 4 or 8 KB –These blocks are stored in a set of DataNodes Client talks to both NameNode and DataNodes –Data is not sent through the NameNode

Features of HDFS DataNodes holding blocks of multiple files with a replication factor of 2 The NameNode maps the filenames onto the block ids

Features of HDFS DataNodes 의 클러스터를 통해서 구축 각각의 서버들은 데이터 블록을 네트워크를 통해 제공 웹 브라우저나 다른 client 를 통해서 모든 컨텐츠 에 대해 접근할 수 있도록 HTTP 프로토콜을 통 해서 데이터를 제공하기도 함

Features of HDFS NameNode 라는 하나의 특별한 서버를 필요로 함 -> HDFS 설치에 있어서 실패의 한 요소 NameNode 가 다운되면 File system 역시 다운 2 차 NameNode 를 운영하기도 함 대부분은 하나의 NameNode 를 이용 Replay process 는 큰 클러스터의 경우 30 분 이상 소요

Features of HDFS

The File System Namespace File System Namespace 계층은 다른 file systems 와 유사 ; – 파일 생성 및 삭제 – 하나의 dir 에서 다른 dir 로 파일 복사 – 파일 이름 변경 사용자 한도 량과 접근 허가 구현 X 하드 링크와 소프트 링크 지원 X 하지만, 이런 특징들의 구현을 제한 X

The File System Namespace NameNode : the file system namespace 유지 File system namespace 나 속성의 변화는 NameNode 에 의해서 기록됨 Application 은 HDFS 에 의해 유지되어야 하는 파 일의 replicas 의 개수를 명시할 수 있다. – 파일의 복제 수는 the replication factor of that file 이라 고 불리워짐. – 이러한 정보 역시 NameNode 에 의해서 저장