클라우드컴퓨팅구현기술 5장
Upcoming SlideShare
Loading in...5
×
 

클라우드컴퓨팅구현기술 5장

on

  • 1,818 views

 

Statistics

Views

Total Views
1,818
Views on SlideShare
1,818
Embed Views
0

Actions

Likes
3
Downloads
23
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

클라우드컴퓨팅구현기술 5장 클라우드컴퓨팅구현기술 5장 Presentation Transcript

  • 2012.5.5 09:00 KINTEX Study 4회 준비 : 함건주 참석 : 김선만, 최윤종 www.greatlecture.co.kr
  • 0 파일 저장소 & 파일 시스템1 구글 파일 시스템 2 하둡 파일 시스템 구성 3 하둡 파일 시스템 운영 4 하둡 파일 시스템 API활용
  • 파일 저장소의 종류1. DAS (Direct Attached Storage) 서버와 전용 케이블로 연결한 외장형 저장장치 물리적이며 쉽게 저장공간을 확보할 수 있다. 데이터 증가에 따른 외부 저장장치의 확장은 서버의 효율성 저하!! 중앙 집중식 시스템과 같은 취약점!2. SAS (Serial Attached SCSI) 직렬접근방식 인터페이스 SCSI(병렬방식)와 SATA(직렬방식)의 장점 -> SAS(직렬방식) ! 고성능/고가용을 위해서 만들어짐 소규모는 SATA, 그 이상은 SAS!
  • 파일 저장소의 종류3. NAS (Network Attached Storage) - Server와 Client가 Network에 의하여 원활한 접근을 할 수 있게 해 주는 Network 방식 - 중간 규모 정도의 데이터 용량에 안정적인 파일 저장이 필요한 경우에 이용 - 주로 첨부 파일이나 이미지 같은 데이터를 저장하는데 주로 사용
  • 파일 저장소의 종류4. SAN (Storage Area Network) - 광채널로 스토리지만을 위한 별도의 네트워크를 구성 - 고성능, 고가용성이 필요한 데이터인 경우에 이용
  • 그렇다면 왜 분산처리시스템 ?결국 앞서 말한 최종적인 NAS 와 SAN 시스템의 문제점은가격이 비싸며 탄력적인 확장성을 보장하기 어렵다.그렇다고 NAS와 SAN을 배제시킨다 ? No !SAN, NAS 와 더불어 분산처리시스템에서 선택할 수 있는대안을 제시하고자 한다.즉, 이러할 경우 분산처리 시스템을 선택하자.파일저장, 읽기 같은 단순한 연산만 필요하지만 대규모의 데이터를저렴한 비용으로 저장하려고 할 경우 !
  • 파일 시스템의 분류구분 특징 종류 저널링, 보안 등 단일 플랫폼과 운영단일 파일 시스템 체제를 위해 특화된 파일 시스템 NTFS, ext2 특정한 프로토콜로 네트워크상에서네트워크 공유 파일 시스템 의 데이터 공유를 가능하게 함 NFS, CIFS 동일 서버들로 이루어진 클러스터클러스터 파일 시스템 사이에 고속으로 데이터를 공유함 GFS, Luster SAN 환경에서 이기종의 서버들끼 CSFS,SAN 파일 시스템 리 데이터를 공유함 SANergy 네트워크 공유 파일 시스템의 확장 으로 독립적인 네트워크 파일 시스 NFSv4그리드 파일 시스템 템이 모여서 계층적인 구조를 형성 함* 클러스터 파일 시스템은 교제 참고 !
  • 0 파일 저장소 & 파일 시스템1 구글 파일 시스템 2 하둡 파일 시스템 구성 3 하둡 파일 시스템 운영 4 하둡 파일 시스템 API활용
  • 구글 파일 시스템1. 서버 동작2. 클라이언트 요청 처리3. 서버 갱신4. 클라이언트와 조각서버와의 데이터 교류
  • 구글 파일 시스템1. 서버 동작 - 마스터의 메모리에 메타데이터가 저장된다. 1) 파일과 조각의 네임 스페이스 2) 파일과 조각간의 매핑정보 3) 각 조각의 복제들의 위치정보 1), 2) 는 마스터의 로컬디스크에 log 형태로 영구저장되어 원격기기에 복제된다. (log형태로써 무결성 보장) 3) 은 영구저장 x. 초기 구동시 각 조각서버에게 위치정보 요청 이 후 조각서버가 새로 추가 될 때 다시 요청한다. 또한, 조각 서버를 구별하기 위한 handle은 64bit이며 변경 불가능!
  • 구글 파일 시스템 부가 설명2. 클라이언트 요청 - 초기에는 클라이언트-마스터 간의 연결이 이루어진다. - 마스터는 클라이언트에게 조각 서버를 알려준다. - 이 후로 클라이언트의 캐시에 조각 서버의 정보가 저장된다. - 따라서 마스터를 거치지 않고 클라이언트-조각서버 간 연결!
  • 구글 파일 시스템3. 서버 갱신 - 마스터는 heartbeat 메시지를 통해 주기적으로 조각 서버를 체크 - 마스터의 역할 1) 조각 임대 관리 (lease) 2) 유보된 조각의 유휴메모리 정리 (garbage collection) 3) 이동과 같은 시스템 수준 동작 - 파일들은 조각(chunk)으로 나누어져 조각서버에 저장이 되는데 안정성을 위해 복사본을 생성한다.(기본 3개, 복사레벨 지정 가능)
  • 구글 파일 시스템4. 클라이언트와 조각서버와의 데이터 교류 즉, 마스터가 프라이머리 서버를 지정하여 데이터 교류 * 주키퍼는 한 번 리더가 결정되면 계속 리더 역할 수행 * GFS는 매번 요청에 대해 리더를 선출하는 개념
  • 0 파일 저장소 & 파일 시스템1 구글 파일 시스템 2 하둡 파일 시스템 구성 3 하둡 파일 시스템 운영 4 하둡 파일 시스템 API활용
  • 하둡 파일 시스템 구성1. 하나의 Name Node, 다수의 Data Node2. Name Node는 파일 관리자 및 Client의 파일 접근 요청 처리3. Data Node는 Client의 데이터 입출력 요청 처리(block단위)4. Secondary Name Node 의 스냅샷 (메모리내용,파일커밋로그)5. 전체 hdfs의 용량 = 전체 데이터 노드 용량/복제본 수
  • Hfs의 파일 저장 동작 방식 10. Close 요청 2. 생성 및 패스 락 1. 패스 전송 6. 추가 블록 요청 하둡 네임 노드 7. NameSpace 파일클라이언트 등록 네임스페이스 3. DN 목록 (복제본 수 만큼) fsimage edits 11. Fsimage 병합 세컨드리 네임노드 4. 데이터 전송 (DN 목록 같이 전송)데이터노드 데이터노드 데이터노드 5. 데이터 복제 5. 데이터 복제
  • HDFS 의 특징과 장단점1. 선형적인 확장성 제공 > 기존에는 사용할 용량을 예측했어야 했다. > 기존도 선형적 확장이 가능은 하지만 관리요소가 많다. > HDFS는 리눅스 장비만 설치 후 하둡의 데이터 노드를 실행! 이 후는 HFS이 자동으로 인식!!2. 글로벌 네임스페이스 제공 > 파일 데이터에 대한 중복저장, 파일 공유 문제 해결 > 어떻게 ? 유일한 식별 단위로! > 기존에는 파일 명으로 구분을 하였다.
  • HDFS 의 특징과 장단점3. 전체 처리 용량 증가 > 기존에는 부하 집중에 최약한 구조 > 응용-스토리치 계층 사이에서 병목이 발생 > 분산된 서버의 디스크를 이용하므로 네트워크, 디스크 I/O 등이 각 서버로 분산딘다. 동일한 용량의 스토리지 구축 -> 전체 처리 용량 증가4. 데이터 분석 처리에 활용 > 분석용 데이터를 HFS에 저장 > 맵리듀스로 빠르게 분석하는데 활용 (분산/병렬 처리 Framework)
  • HDFS 의 제약 사항1. 응용 프로그램 기반의 파일 시스템 > 기존 FS의 파일 처리 명령을 이용할 수 없다. > 마운팅 기능을 제공하지 않는다. > 따라서 FUSE 같은 도구를 이용한다.2. 불변 파일만 저장 (Immutable file) > 스트리밍 방식의 읽기 요청 위주인 응용, 배치 작업에 적합 > 뭐, 최근에는 데이터추가가 된다고 하니 배제해야 하나?
  • HDFS 의 제약 사항3. 네임스페이스 관리를 네임 노드 메모리에 저장 > 하나의 파일 정보는 수백 바이트이다. > 파일과 디렉토리의 개수는 ND 메모리 크기에 제한을 받는다. > 따라서 여러 하둡 클러스터를 구성하는 방식으로 해결4. 네임 노드 이중화 문제 > 네임 노드가 SPOF이다. > 따라서 네임 노드의 이중화를 위해 몇 가지 기법 연구중…
  • NameNode의 이중화 문제를 더 깊이 .. (1) 2010. 8. 3 - 하둡 아파치 서버에서 Maxim Veksler이 질문을 했다. > 왜 하둡에서는 이중화 문제에 대해 더 좋은 방안을 안하냐? > 내가 최근에 BFT 알고리즘을 봤는데 이를 적용해 보아라 - Jeff Hammerbacher는 이렇게 답변했다. > 현재 다방면으로 해결중이다. 너 글 괜찮은데? ㅋㅋ > 현재 해결책 중에 BFT를 적용중인 것은 없다. 고마워 ㅋㅋ > 그리고 몇몇 진행중인 해결책 줄테니 참고해봐 > Check out https://issues.apache.org/jira/browse/HDFS-1064 for the umbrella JIRA for NN HA. For specific solutions, you may be interested in Facebooks AvatarNode (https://issues.apache.org/jira/browse/HDFS-976), or China Mobiles approach (http://github.com/gnawux/hadoop-cmri).
  • NameNode의 이중화 문제를 더 깊이 .. (2) 2011. 8. 25 - 조지 Kousiouris가 글을 올렸다. 우리가 하둡 관련되서 발표 준비중인데, NameNode의 SPOF를 해결해야한다. (예를 들면 NameNode를 하나보다 많게 나누는 것처럼) 이와 관련되서 뭐 문서 좀 없냐 ??? - Nan Zhu http://www.springerlink.com/content/h17r882710314147/ 이거 봐바 - Uma 어쩌고저쩌고.. https://issues.apache.org/jira/browse/HDFS-1623 이거 참고해 - 조지 Kousiouris 오.. 이것도 좋은 듯.. https://ritdml.rit.edu/bitstream/handle/1850/13321/ATalwalkarThesis1- 2011.pdf?sequence=1
  • 설치운영환경 : 리눅스개발환경 : 리눅스, 윈도우자바 1.6 이상ssh- HFS를 설치하려면 ? 하나의 네임노드 서버 + 기본적으로 3대의 데이터 노드 서버 필요- SSH를 이용해 공개키를 생성하여 접속하게 될 데이터 노드 서버에 공개키를 복사한다. -> 패스워드 입력 없이 명령 수행 가능.> 229페이지 참고
  • 다운로드http://hadoop.apache.org 에서 받으세요~뭐 문제 있었습니까 ?1.0.2_x86_64.rpm 으로 설치했어요~최신 버전이라서 교제와 많이 다르네요 .. ㅡㅡ
  • 환결설정 (1) - 기본 /etc/hadoop 에 있다. (1.0.2 기준; 교제와 다름) 네임노드에서 설정 후 데이터 노드로 복사하는 방식 데이터 노드마다 환경이 다를 경우 복잡하다. 왜냐하면 데이터 노드에 마추어서 환경 설정을 해야한다.
  • 환결설정 (2) – hadoop-env.sh > 232 page 참고
  • 환결설정 (3) – core-site.xml 로그 파일, 네트워크 튜닝, I/O 튜닝, 파일 시스템 튜닝, 압축 등 과 같은 기본적인 하부 시스템을 설정한다. 자세한 사항은 src/core/core-default.xml 파일을 참고 fs.default.name : 기본 파일 시스템 hadoop.tmp.dir : 하둡의 모든 데이터 저장, 임시 공간의 최상위 경로
  • 환결설정 (4) – hdf-site.xml dfs.namenode.name.dir : 파일 디렉토리 정보, 파일정보 등을 저장 dfs.datanode.data.dir : 데이터 파일이 저장되는 위치 dfs.datanode.max.xcievers : 동시 접속 수 제한 값 /master : 세컨드리 네임 노드가 실행될 서버 기술 /slaves : 데이터 노드가 실행될 서버 기술
  • 환결설정 (5) – hadoop-metrics2.properties 각 기능별(fs, mapreduce)로 모니터링 데이터 수집하는 방식 설정 시스템 환경 변수에 HADOOP_HOME를 설정 (0.21이후)
  • 배포
  • 0 파일 저장소 & 파일 시스템1 구글 파일 시스템 2 하둡 파일 시스템 구성 3 하둡 파일 시스템 운영 4 하둡 파일 시스템 API활용
  • 실행과 관리- 최초의 실행 시에는 파일 시스템을 포맷하는 명령을 실행한다.- dfs.namenode.name.dir에서 설정한 디렉토리 파일 초기화-> bin/hadoop namenode –format>> http://server01(호스트네임):50070 으로 접속네임노드의 상세정보를 볼 수 있다.이 외에 bin/hadoop 파일 실행 명령어는 ? 240page 참고중지 명령어는 ? bin/stop-dfs.sh 혹은 kill명령어
  • 데이터 노드 제거- (10~20분)이상 heartbeat을 보내지 않은 데이터 노드를 장애노드로 판단하여 복제본을 하나 더 생성시키는 작업 수행- Hdfs-site.xml 파일에 제거 <name>, <value> 작성 이후 <value>의 파일에 제거할 데이터 노드 기술 ( 242page 참고)- 서버 장애에 대해서 걱정할 점은 Name Node의 SPOF뿐이다!
  • 사용자 루트 패스- 반드시! 사용자 디렉토리를 생성하고 소유자 설정을 변경!!- 관리자 계정 = 리눅스 계정- 사용자 계정 = 사용자 디렉토리 <- 생성시켜주어야 한다.244page 참고
  • 안전 모드- 하둡 파일 시스템을 재시작하면 일정 기간 동안 안전모드 상태 돌입- 알다시피, 네임노드는 fsimage의 정보를 갖고 온다.- 즉, 블록 리포팅이 완료되기 전까지를 안전모드라고 한다.- 따라서 안전 모드를 고려하여 점검시간을 계산해라 !bin/hadoop dfsadmin –safemode enter #안전모드 시작bin/hadoop dfsadmin –safemode leave #안전모드 해제
  • 0 파일 저장소 & 파일 시스템1 구글 파일 시스템 2 하둡 파일 시스템 구성 3 하둡 파일 시스템 운영 4 하둡 파일 시스템 API활용
  • 기본 파일처리 API 보통 hadoop-<version>-core.jar 형태로 제공 246page를 참고하자.
  • 데모: 블로그 애플리케이션코드 5.3은 BlogServiceHandler.java코드 5.4는 BlogServer.java250 ~ 252 page 참고
  • 응용 사례: 클라우드 스토리지 서비스웹 서버, WAS(톰캣)을 이용한 네임노드, 데이터노드 접근법이외… 254page 교재 참고..