SlideShare a Scribd company logo
Hadoop Overview 2008.01.15 유현정
Hadoop Brief History 2005 년  Doug Cutting(Lucene & Nutch  개발자 ) 에 의해서 시작 Nutch  오픈소스 검색엔진의 분산확장 이슈에서 출발 2006 년  Yahoo 의 전폭적인 지원 (Doug Cutting 과 전담팀 고용 ) 2008 년  Apache Top-level Project 로 승격 현재 (2009.1) 0.19.0 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 에 의해서 저장

More Related Content

PPTX
Hadoop distributed file system rev3
PDF
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
PDF
HDFS Overview
PPTX
Hadoop administration
PDF
하둡완벽가이드 Ch9
PDF
서울 하둡 사용자 모임 발표자료
PPTX
Tajo and SQL-on-Hadoop in Tech Planet 2013
PDF
Expanding Your Data Warehouse with Tajo
Hadoop distributed file system rev3
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
HDFS Overview
Hadoop administration
하둡완벽가이드 Ch9
서울 하둡 사용자 모임 발표자료
Tajo and SQL-on-Hadoop in Tech Planet 2013
Expanding Your Data Warehouse with Tajo

What's hot (18)

KEY
Distributed Programming Framework, hadoop
PDF
하둡 좋은약이지만 만병통치약은 아니다
PDF
Hadoop overview
PPTX
하둡 설치(의사분산모드)
PDF
Glusterfs 구성제안서 v1.0
PPT
Hadoop Introduction (1.0)
PDF
하둡관리
PDF
Arcus
PDF
PDF
20141029 하둡2.5와 hive설치 및 예제
PDF
Gluster fs guide(v1.0)
PDF
하둡 HDFS 훑어보기
PDF
Hadoop 제주대
PDF
유닉스 리눅스 마이그레이션_이호성_v1.0
PDF
하둡 (Hadoop) 및 관련기술 훑어보기
PDF
Glusterfs 구성제안 및_운영가이드_v2.0
PDF
Java 초보자를 위한 hadoop 설정
PDF
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
Distributed Programming Framework, hadoop
하둡 좋은약이지만 만병통치약은 아니다
Hadoop overview
하둡 설치(의사분산모드)
Glusterfs 구성제안서 v1.0
Hadoop Introduction (1.0)
하둡관리
Arcus
20141029 하둡2.5와 hive설치 및 예제
Gluster fs guide(v1.0)
하둡 HDFS 훑어보기
Hadoop 제주대
유닉스 리눅스 마이그레이션_이호성_v1.0
하둡 (Hadoop) 및 관련기술 훑어보기
Glusterfs 구성제안 및_운영가이드_v2.0
Java 초보자를 위한 hadoop 설정
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
Ad

Viewers also liked (7)

PDF
Hive begins
PPTX
introduce of Hadoop map reduce
PDF
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
PDF
Apache Hive Hook
PDF
Apache hive
PDF
빅데이터, big data
PDF
Hive 입문 발표 자료
Hive begins
introduce of Hadoop map reduce
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
Apache Hive Hook
Apache hive
빅데이터, big data
Hive 입문 발표 자료
Ad

Similar to Hadoop Overview 1 (20)

PDF
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
PDF
[오픈소스컨설팅]Glster FS간단소개
PDF
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
PDF
Glusterfs 구성제안서 v1.0
PDF
Glusterfs 구성제안 v1.0
PDF
log-monitoring-architecture.pdf
PDF
분산데이터 저장 기술
PPTX
Big data application architecture 요약2
PPTX
PDF
Glusterfs 소개 v1.0_난공불락세미나
PPT
Gfs Kyu
PDF
110517_Oracle
PDF
Tdc2013 선배들에게 배우는 server scalability
PDF
Object storage의 이해와 활용
PPTX
Ipfs : InterPlanetary File System
PPTX
Scalable web architecture and distributed systems
PPTX
Scalable web architecture and distributed systems
 
PPTX
Git의 개념과 사용
PPT
Hadoop Overview 2
PDF
Introduction of Mesosphere DCOS
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
[오픈소스컨설팅]Glster FS간단소개
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
Glusterfs 구성제안서 v1.0
Glusterfs 구성제안 v1.0
log-monitoring-architecture.pdf
분산데이터 저장 기술
Big data application architecture 요약2
Glusterfs 소개 v1.0_난공불락세미나
Gfs Kyu
110517_Oracle
Tdc2013 선배들에게 배우는 server scalability
Object storage의 이해와 활용
Ipfs : InterPlanetary File System
Scalable web architecture and distributed systems
Scalable web architecture and distributed systems
 
Git의 개념과 사용
Hadoop Overview 2
Introduction of Mesosphere DCOS

More from Kay Kim (20)

PDF
HP/MP도 없앤다, Project Albatross
PPT
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
PDF
"Lessons learned from Global Game Jam 2010" at NDC 2011
PPTX
게임 디자인 워크샵: 월드 오브 룰크래프트(Game Design Workshop: World of Rulecraft) at NDC 2010
PPTX
게임 디자인 워크샵: 월드 오브 룰크래프트(Game Design Workshop: World of Rulecraft) at NDC 2010
PPTX
Social Games, Whats The Difference @ Social Game Party 1st
PPTX
Everything Goes To Social @ Ignite Seoul 2nd
PPT
아티스트, 기획자 및 관리자들을 위한 '외주: 최상의 실천법들' [GDC2008]
PPTX
교전 수칙: 멀티플레이어 게임 기획에 대한 Blizzard의 접근법 [GDC2008] by Rob Pardo
PPTX
GDC Austin 2009-Final Fantasy XI-Problems And Solutions In A Global Community...
PPT
Nutch Homepage Search Engine
PPT
Google App Engine - Overview #2
PPT
Google App Engine - Overview #1
PPT
Google App Engine - Overview #3
PPT
찰리를 만나봅시다 - 엔터프라이즈 2.0이란 무엇인가 ( Meet Charlie - What is Enterprise 2.0 - Korean)
PPT
Outsourcing: Best Practices at Pandemic Studios [GDC 2008]
PPT
애자일 게임 개발이란?
PPT
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
PPT
Agile의 의미와 Agile 계획 수립(Gdc2007)
PPT
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]
HP/MP도 없앤다, Project Albatross
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
"Lessons learned from Global Game Jam 2010" at NDC 2011
게임 디자인 워크샵: 월드 오브 룰크래프트(Game Design Workshop: World of Rulecraft) at NDC 2010
게임 디자인 워크샵: 월드 오브 룰크래프트(Game Design Workshop: World of Rulecraft) at NDC 2010
Social Games, Whats The Difference @ Social Game Party 1st
Everything Goes To Social @ Ignite Seoul 2nd
아티스트, 기획자 및 관리자들을 위한 '외주: 최상의 실천법들' [GDC2008]
교전 수칙: 멀티플레이어 게임 기획에 대한 Blizzard의 접근법 [GDC2008] by Rob Pardo
GDC Austin 2009-Final Fantasy XI-Problems And Solutions In A Global Community...
Nutch Homepage Search Engine
Google App Engine - Overview #2
Google App Engine - Overview #1
Google App Engine - Overview #3
찰리를 만나봅시다 - 엔터프라이즈 2.0이란 무엇인가 ( Meet Charlie - What is Enterprise 2.0 - Korean)
Outsourcing: Best Practices at Pandemic Studios [GDC 2008]
애자일 게임 개발이란?
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
Agile의 의미와 Agile 계획 수립(Gdc2007)
애자일 개발을 이용한 게임 기획 (Game Design In Agile Development) [GDC 2007]

Hadoop Overview 1

  • 2. Hadoop Brief History 2005 년 Doug Cutting(Lucene & Nutch 개발자 ) 에 의해서 시작 Nutch 오픈소스 검색엔진의 분산확장 이슈에서 출발 2006 년 Yahoo 의 전폭적인 지원 (Doug Cutting 과 전담팀 고용 ) 2008 년 Apache Top-level Project 로 승격 현재 (2009.1) 0.19.0 release
  • 3. Hadoop Java 기반 언어 Apache 라이선스 많은 컴포넌트들 HDFS, Hbase, MapReduce, Hadoop On Demand(HOD), Streaming, HQL, Hama, etc
  • 5. 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
  • 6. Google File System(GFS) Hadoop 의 DFS 는 Google File System(GFS) 의 기본 개념을 그대로 가져와 구현함 GFS 의 특징 PC 와 같은 일반적으로 값싼 장비를 이용한다 NAS 등과 같은 고비용의 장비를 사용하지 않고 소프트웨어로 해결한다 많은 수의 대용량 파일 ( 수백 MB~ 수 GB) 을 처리할 수 있어야 한다 추가로 데이터에 대한 백업을 하지 않는다 장비의 추가 및 제거가 자유로워야 한다 특정 노드 장애 시에도 별도의 복구 절차 없이 지속적인 서비스 제공이 가능하다
  • 7. Google File System(GFS) 두 개의 데몬 서버 ( 사용자 application 수준 ) GFS master : 파일 이름 , 크기 등과 같은 파일에 대한 메타데이터 관리 GFS chunkserver : 실제 파일을 저장하는 역할 수행 수백 MB ~ 수 GB 이상의 크기의 파일 하나를 여러 조각으로 나눈 후 , 여러 chunkserver 에 저장 나누어진 파일의 조각 = chunk (default, 64MB) GFS Client : 데몬 서버들과 통신을 통해 파일 처리 파일의 생성 , 읽기 , 쓰기 등의 작업을 수행하는 역할 API 형태로 제공되고 내부적으로 socket 등의 통신을 이용하여 서버와 통신
  • 8. 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 의 부하를 최소화 하도록 하기 위한 것
  • 9. Google File System(GFS) Replication 가장 큰 특징 중 하나 Chunk 를 하나의 chunkserver 에만 저장하는 것이 아니라 여러 개의 chunkserver 에 복사본을 저장 Default : 3 개의 복사본 Chunkserver 의 down 등으로 인해 정해진 복사본 수만큼 가지고 있지 않는 경우 , master 는 새로운 복사본을 만들도록 관리
  • 10. Google File System(GFS) Replication 의 장점 chunk 를 저장하고 있는 chunkserver 가 down 되어도 장애 없이 서비스를 제공할 수 있다 항상 복사본이 존재하고 있기 때문에 파일 시스템 수준에서 RAID1 수준의 미러링 백업을 제공 실제로 Google 은 NAS 와 같은 고비용의 스토리지 장비를 사용하지 않기 때문에 Yahoo 와 같은 다른 경쟁업체에 비해 월등하게 싼 가격으로 시스템을 운영하고 있다 특정 파일 또는 chunk 를 읽기 위한 접근이 집중되는 경우 , 하나의 chunkserver 로 집중되는 부하를 분산시킬 수 있으며 서버에 대한 분산뿐만 아니라 Disk head 와 같은 물리적인 장치에 대한 분산 효과
  • 11. Google File System(GFS) Replication 의 단점 Google File System 에서는 , 복사본을 동기적인 방식으로 생성한다 . 이것은 파일을 생성하는 시점에 복사본까지 완전히 저장된 후에 파일 생성에 대한 완료처리를 한다는 것이다 . 따라서 , 일반 파일 시스템에 비해 기본적으로 3 배 이상의 write 속도 저하가 발생한다 . Google File System 의 경우 , 온라인 실시간 시스템에서는 사용하기 부적합 할 수 있으며 파일을 한번 생성한 다음부터는 계속해서 읽기 작업만 발생하는 시스템에 적합하다고 할 수 있다 . 대표적인 서비스들 : 검색 , 동영상 , 이미지 , 메일 (Mime 파일 ) 등이다 3 개의 복사본을 저장하기 때문에 3 배의 디스크 공간 필요 Google File System 의 경우 , 기본적으로 PC 에 붙어 있는 값싼 디스크도 사용할 수 있기 때문에 NAS 와 같이 고비용의 스토리지를 사용하는 엔터프라이즈 환경에서는 단점이라고 할 수 없다 .
  • 12. Hadoop Distributed File System(HDFS) 순수한 자바 파일 시스템 기존의 분산 파일 시스템과 많은 유사성을 갖고 있으면서도 커다란 차이점이 있음 . highly fault-tolerant Low-cost hardware 를 통해 배포할 수 있도록 설계 Application data 접근에 높은 처리량 제공 Suitable for application having large data sets
  • 13. 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 의 핵심적인 구조적 목표 .
  • 14. 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) 유닉스 운영체제에 기반을 두고 있는 일련의 표준 운영체제 인터페이스
  • 15. Assumptions & Goals of HDFS 3. Large Data Sets HDFS 의 applications 는 large data sets 를 가짐 HDFS 에서의 일반적인 파일 크기 : gigabytes to terabytes 따라서 , HDFS 가 대용량 파일들을 제공할 수 있도록 조정됨 높은 aggregate data bandwidth 와 단일 클러스터에서 수백개의 nodes 로의 확장을 제공해야 함 단일 instance 에서 수 천만 파일을 제공해야 함
  • 16. 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
  • 17. 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 를 제공
  • 18. Assumptions & Goals of HDFSkjuo 6. 이종 하드웨어와 소프트웨어 플랫폼으로의 이식성 HDFS 는 한 플랫폼에서 다른 플랫폼으로 쉽게 이식할 수 있도록 디자인됨 This facilitates widespread adoption of HDFS as a platform of choice for large set of applications.
  • 19. 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
  • 20. 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
  • 21. 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.
  • 22. 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.
  • 23. 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
  • 24. Features of HDFS DataNodes holding blocks of multiple files with a replication factor of 2 The NameNode maps the filenames onto the block ids
  • 25. Features of HDFS DataNodes 의 클러스터를 통해서 구축 각각의 서버들은 데이터 블록을 네트워크를 통해 제공 웹 브라우저나 다른 client 를 통해서 모든 컨텐츠에 대해 접근할 수 있도록 HTTP 프로토콜을 통해서 데이터를 제공하기도 함
  • 26. Features of HDFS NameNode 라는 하나의 특별한 서버를 필요로 함 -> HDFS 설치에 있어서 실패의 한 요소 NameNode 가 다운되면 File system 역시 다운 2 차 NameNode 를 운영하기도 함 대부분은 하나의 NameNode 를 이용 Replay process 는 큰 클러스터의 경우 30 분 이상 소요
  • 28. The File System Namespace File System Namespace 계층은 다른 file systems 와 유사 ; 파일 생성 및 삭제 하나의 dir 에서 다른 dir 로 파일 복사 파일 이름 변경 사용자 한도 량과 접근 허가 구현 X 하드 링크와 소프트 링크 지원 X 하지만 , 이런 특징들의 구현을 제한 X
  • 29. The File System Namespace NameNode : the file system namespace 유지 File system namespace 나 속성의 변화는 NameNode 에 의해서 기록됨 Application 은 HDFS 에 의해 유지되어야 하는 파일의 replicas 의 개수를 명시할 수 있다 . 파일의 복제 수는 the replication factor of that file 이라고 불리워짐 . 이러한 정보 역시 NameNode 에 의해서 저장