하둡완벽가이드 ch9

29
Hadoop The Definitive Guide Ch.9 Setting up a Hadoop Cluster 아꿈사 cecil 1399월요일

Upload: hyeonseok-choi

Post on 20-May-2015

2.370 views

Category:

Technology


23 download

TRANSCRIPT

Page 1: 하둡완벽가이드 Ch9

Hadoop The Definitive GuideCh.9 Setting up a Hadoop Cluster

아꿈사cecil

13년 9월 9일 월요일

Page 2: 하둡완벽가이드 Ch9

이 장에서는...

1. 하둡 클러스터 설정 방법 - Map Reduce I - YARN

2. 클라우드 서비스에서 하둡 사용

13년 9월 9일 월요일

Page 3: 하둡완벽가이드 Ch9

클러스터 명세

하둡은 범용 하드웨어에서 구동 되도록 설계 되었음 - 범용이 저급을 의미하는 것은 아님

클러스터는 얼마나 커야 할까? - 하둡은 클러스터 규모를 쉽게 증가 시킬 수 있음. - “얼마나 빨리 클러스터가 커질 것인가?”의 질문이 더 합당 저장 용량 관점

13년 9월 9일 월요일

Page 4: 하둡완벽가이드 Ch9

네트워크 위상

네트워크 위상 설정을 통해 하둡의 성능을 높일 수 있음 - 블록 복제본을 배치할 때 네트워크 위치를 사용 - 기본값은 모든 노드를 단일 네트워크에 맵핑 - topology.script.file.name 속성으로 스크립트 위치 지정

Rack awareness7R�JHW�PD[LPXP�SHUIRUPDQFH�RXW�RI�+DGRRS��LW�LV�LPSRUWDQW�WR�FRQILJXUH�+DGRRS�VRWKDW�LW�NQRZV�WKH�WRSRORJ\�RI�\RXU�QHWZRUN��,I�\RXU�FOXVWHU�UXQV�RQ�D�VLQJOH�UDFN��WKHQWKHUH�LV�QRWKLQJ�PRUH�WR�GR��VLQFH�WKLV�LV�WKH�GHIDXOW��+RZHYHU��IRU�PXOWLUDFN�FOXVWHUV�\RX�QHHG�WR�PDS�QRGHV�WR�UDFNV��%\�GRLQJ�WKLV��+DGRRS�ZLOO�SUHIHU�ZLWKLQ�UDFN�WUDQVIHUV�ZKHUH� WKHUH� LV� PRUH� EDQGZLGWK� DYDLODEOH�� WR� RII�UDFN� WUDQVIHUV� ZKHQ� SODFLQJ0DS5HGXFH�WDVNV�RQ�QRGHV��+')6�ZLOO�EH�DEOH�WR�SODFH�UHSOLFDV�PRUH�LQWHOOLJHQWO\�WRWUDGH�RII�SHUIRUPDQFH�DQG�UHVLOLHQFH�

1HWZRUN�ORFDWLRQV�VXFK�DV�QRGHV�DQG�UDFNV�DUH�UHSUHVHQWHG�LQ�D�WUHH��ZKLFK�UHIOHFWV�WKHQHWZRUN�£GLVWDQFH¤�EHWZHHQ�ORFDWLRQV��7KH�QDPHQRGH�XVHV�WKH�QHWZRUN�ORFDWLRQ�ZKHQGHWHUPLQLQJ� ZKHUH� WR� SODFH� EORFN� UHSOLFDV� �VHH� £1HWZRUN� 7RSRORJ\� DQG� +D�GRRS¤�RQ�SDJH������ WKH�0DS5HGXFH� VFKHGXOHU�XVHV�QHWZRUN� ORFDWLRQ� WR�GHWHUPLQHZKHUH�WKH�FORVHVW�UHSOLFD�LV�DV�LQSXW�WR�D�PDS�WDVN�

)RU�WKH�QHWZRUN�LQ�)LJXUH������WKH�UDFN�WRSRORJ\�LV�GHVFULEHG�E\�WZR�QHWZRUN�ORFDWLRQV�VD\���VZLWFK��UDFN��DQG��VZLWFK��UDFN���6LQFH�WKHUH�LV�RQO\�RQH�WRS�OHYHO�VZLWFK�LQ�WKLVFOXVWHU��WKH�ORFDWLRQV�FDQ�EH�VLPSOLILHG�WR��UDFN��DQG��UDFN��

7KH�+DGRRS�FRQILJXUDWLRQ�PXVW�VSHFLI\�D�PDS�EHWZHHQ�QRGH�DGGUHVVHV�DQG�QHWZRUNORFDWLRQV�� 7KH� PDS� LV� GHVFULEHG� E\� D� -DYD� LQWHUIDFH�� DNSToSwitchMapping�� ZKRVHVLJQDWXUH�LV�

public interface DNSToSwitchMapping { public List<String> resolve(List<String> names);}

)LJXUH������7\SLFDO�WZR�OHYHO�QHWZRUN�DUFKLWHFWXUH�IRU�D�+DGRRS�FOXVWHU

298 | Chapter 9:ಗSetting Up a Hadoop Cluster

www.it-ebooks.info

13년 9월 9일 월요일

Page 5: 하둡완벽가이드 Ch9

클러스터 설정 및 설치

1. 자바 설치 - java 1.6 이상 버전 필요

2. 하둡 사용자 생성 - 다른 서비스와 하둡 설치를 분리 시키기 위해 별도 계정 생성 - 편의를 위해 사용자의 홈 디렉토리를 NFS 마운트 드라이브에 설정

3. 하둡 설치 - NFS 드라이브를 홈 디렉토리로 사용할 경우 별도의 위치에 설치

4. ssh 설정 - 제어 스크립트 실행을 위해 ssh 키를 복사

(Management Server -> Slave Server)

13년 9월 9일 월요일

Page 6: 하둡완벽가이드 Ch9

하둡 환경 설정

13년 9월 9일 월요일

Page 7: 하둡완벽가이드 Ch9

MapReduce - I

13년 9월 9일 월요일

Page 8: 하둡완벽가이드 Ch9

하둡 설정 파일파일명 형식 설명

hadoop-env.sh bash 스크립트 하둡을 구동하는 스크립트에서 사용되는 환경 변수

core-site.xml 하둡 설정 XMLHDFS와 맵 리듀스에 공통적으로 사용되는 IO 설정 같은 하둡 코어를 위한 환경 설정 구성

hdfs-site.xml 하둡 설정 XML네임노드, 보조 네임노드, 데이터 노드 등과 같은 HDFS 데몬을 위한 환결 설정 구성

mapred-site.xml 하둡 설정 XML잡 트래커와 태스크 트래크 같은 맵 리듀스 데몬을 위한 환경 설정

masters 일반 텍스트 보조 네임노드를 구동시킬 컴퓨터의 목록(행당 하나)

slaves 일반 텍스트 데이터 노드와 태스크 트래커를 구동시킬 컴퓨터 목록(행당 하나)

hadoop-metric.properties

자바 속성 매트릭스가 하둡에서 어떻게 표시되는지를 제어하는 속성

log4j.properties 자바 속성 시스템 로그 파일을 위한 속성. 네임노드의 감시로그

13년 9월 9일 월요일

Page 9: 하둡완벽가이드 Ch9

환경 설정 파일 관리

하둡은 환경 설정 정보를 위한 단일, 전역 위치는 없다대신, 클러스터 내의 각 하둡 노드는 고유한 설정 파일을 가짐

이 설정 파일들의 동기화는 관리자의 책임

13년 9월 9일 월요일

Page 10: 하둡완벽가이드 Ch9

한 셋의 설정 파일을 공유할 경우 - 운영적인 측면에서 큰 장점이 있음 - rsync

그룹별로 별도의 설정 파일 사용할 경우 - 하드웨어 스펙에 대해 유연성을 가짐 - 별도의 설정 관리 프로그램 필요 - Ex) Chef, Puppet, cfengine, bcfg2

13년 9월 9일 월요일

Page 11: 하둡완벽가이드 Ch9

하둡 제어 스크립트기본 설정 파일 - masters: 보조 네임노드를 어디에서 실행할지 결정 - slaves: 데이터 노드 및 태스크 트래커의 실행 위치를 지정start-dfs.sh - 스크립트를 실행한 곳은 네임 노드 데몬 시작 - 클러스터 내의 모든 HDFS 데몬을 시작start-mapred.sh - 스크립트를 실행한 곳은 잡 트래커 데몬 시작 - 클러스터 내의 모든 맵 리두스 데몬을 시작hadoop-daemon.sh - 다른 스크립트에서 하둡 데몬에게 명령을 내리기 위해 사용 - 하둡 데몬을 직접 제어해야할 경우에만 사용

13년 9월 9일 월요일

Page 12: 하둡완벽가이드 Ch9

하둡 개발환경 설정

메모리 - 기본적으로 하둡은 데몬당 1,000MB의 메모리를 할당 - hadoop-env.sh의 HADOOP_HEAPSIZE 의해 결정맵/리듀스 태스크 - 맵: mapred.tasktracker.map.tasks.maximum - 리듀스: mapred.task.tracker.reduce.tasks.maximum - 기본값: 2태스크 수행시 JVM에 할당되는 메모리 - mapred.child.java.opts - 기본값: -Xmx200m

13년 9월 9일 월요일

Page 13: 하둡완벽가이드 Ch9

자바 - 자바 라이브러리 위치는 hadoop-env.sh에 정의됨 - 설정하지 않을 경우 default JAVA_HOME이 사용됨시스템 로그 파일 - hadoop-env.sh HADOOP_LOG_DIR로 설정 - log4j 파일: 대부분의 어플리케이션 로그가 기록됨(.log) - 표준 출력 / 에러 로그: 적은 양의 로그가 기록됨(.out)SSH 설정 - 제어 스크립트는 필요에 맞는 여러 옵션 설정이 가능 - hadoop-env.sh의 HADOOP_SSH_OPTS로 설정

13년 9월 9일 월요일

Page 14: 하둡완벽가이드 Ch9

중요한 하둡 데몬 속성

<?xml version="1.0"?> <!-- core-site.xml --><configuration> <property> <name>fs.default.name</name> <value>hdfs://namenode/</value> <final>true</final> </property></configuration>

HDFS를 구동하기 위한 네임노드 설정

13년 9월 9일 월요일

Page 15: 하둡완벽가이드 Ch9

<?xml version="1.0"?> <!-- hdfs-site.xml --><configuration> <property> <!-- 에디트 로그, 파일 시스템 이미지 저장 경로 --> <name>dfs.name.dir</name> <value>/disk1/hdfs/name,/remote/hdfs/name</value> <final>true</final> </property> <property> <!-- 데이터 노드가 블록을 저장할 디렉토리, 성능을 위해 다수 디렉토리에 라운르로빈 가능 --> <name>dfs.data.dir</name> <value>/disk1/hdfs/data,/disk2/hdfs/data</value> <final>true</final> </property> <property> <!-- 보조 네임 노드에서 체크 포인트가 저장되는 디렉토리, 장애 대비용으로 2개 설정 --> <name>fs.checkpoint.dir</name> <value>/disk1/hdfs/namesecondary,/disk2/hdfs/namesecondary</value> <final>true</final> </property></configuration>

HDFS의 저장 디렉토리는 별도로 지정하지 않으면 임시 디렉토리에 저장됨 - 속성: hadoop.tmp.dir, 기본값: /tmp/hadoop-{user.name} - 이 속성을 변경하지 않으면 시스템이 언제든지 임시 디렉토리를 지울 수 있음

13년 9월 9일 월요일

Page 16: 하둡완벽가이드 Ch9

<?xml version="1.0"?> <!-- mapred-site.xml --><configuration> <property> <!-- 호스트명과 잡 트래커의 RPC 서버가 실행되는 포트 번호를 정의 --> <name>mapred.job.tracker</name> <value>jobtracker:8021</value> <final>true</final> </property> <property> <!-- 맵 리듀스가 잡 과정에서 발생하는 중간 데이터를 저장하는 디렉토리--> <name>mapred.local.dir</name> <value>/disk1/mapred/local,/disk2/mapred/local</value> <final>true</final> </property> <property> <!-- 잡이 실행될때 공유 파일이 저장되는 디렉토리 fs.default.name 속성값의 상대 경로--> <name>mapred.system.dir</name> <value>/tmp/hadoop/mapred/system</value> <final>true</final> </property> <property> <!-- 태스크 트래커에서 동시에 실행할 수 있는 맵 태스크 수 --> <name>mapred.tasktracker.map.tasks.maximum</name> <value>7</value> <final>true</final> </property> <property> <!-- 태스크 트래커에서 동시에 실행할 수 있는 리듀스 태스크 수 --> <name>mapred.tasktracker.reduce.tasks.maximum</name> <value>7</value> <final>true</final> </property> <property> <!-- 태스크 트래커에서 자식 프로세스를 실행할때 사용하는 JVM 옵션 --> <name>mapred.child.java.opts</name> <value>-Xmx400m</value> <!-- Not marked as final so jobs can include JVM debugging options --> </property></configuration>

13년 9월 9일 월요일

Page 17: 하둡완벽가이드 Ch9

하둡 데몬 주소와 포트 번호속성명 기본값 설명

fs.default.name file:// 네임노드의 RPC 서버 주소와 포트

dfs.datanode.ipc.address 0.0.0.0:50020 데이터 노드의 RPC 서버 주소와 포트

mapred.job.tracker Local 잡 트래커의 RPC 서버 주소와 포트

mapred.task.tracker.report.address 127.0.0.1:0태스크 트래커의 RPC 서버 주소와 포트.태스크 트래커와 자식 JVM과 통신하기 위해 사용

mapred.job.tracker.http.address 0.0.0.0:50030 잡 트래커의 HTTP 서버 주소와 포트 번호

mapred.task.tracker.http.address 0.0.0.0:50060 태스크 트래커의 HTTP 서버 주소와 포트 번호

dfs.http.address 0.0.0.0:50070 네임노드의 HTTP 서버 주소와 포트 번호

dfs.datanode.http.address 0.0.0.0:50075 데이터 노드의 HTTP 서버 주소와 포트 번호

dfs.secondary.http.address 0.0.0.0:50090 보조 네임노드의 HTTP 서버 주소와 포트 번호

- 네트워크 주소를 0.0.0.0으로 하면 하둡은 모든 주소를 해당 컴퓨터에 바인딩- 포트 번호 0은 서버가 사용되지 않는 포트 중 아무거나 선택할 수 있게 함

13년 9월 9일 월요일

Page 18: 하둡완벽가이드 Ch9

기타 하둡 속성클러스터 멤버 - 향후 노드 추가 및 삭제를 쉽게 하기 위해, 인가된 컴퓨터 리스트를 지정 - dfs.hosts의 mapred.hosts 속성으로 지정버퍼 크기 - 하둡은 입출력 동작을 위해 4KB 버퍼를 사용 - core-site.xml, io.file.buffer.size 속성을 통해 설정HDFS 블록 크기 - 기본적인 블록 크기는 64M - 크기를 증가시켜 네임노드의 메모리 부담을 줄이면서 매퍼가 더 큰 데이터를 처리하도록 설정 가능 - hdfs-site.xml의 dfs.block.size 속성을 통하여 설정예약된 저장 공간 - 기본적으로 데이터 노드는 지정된 디렉토리의 가용한 모든 공간을 사용함 - dfs.datanode.du.reserved 속성을 이용하여 byte 단위로 크기를 설정

13년 9월 9일 월요일

Page 19: 하둡완벽가이드 Ch9

휴지통 - 삭제된 파일은 trash 디렉토리로 이동 - core-site.xml의 fs.trash.interval 속성을 이용하여 보관 주기 설정 가능

잡 스케쥴러 - 다중 사용자의 맵리듀스 환경에서는 FIFO 이외 다른 스케쥴러 설정 가능

리듀스 느린 시작 - 기본 설정은 잡 내에서 5% 맵 태스크가 완료후 리듀스 태스크를 스케쥴링 - 리듀스 슬롯을 점유하고 있기 때문에 mapred.reduce.slowstart.completed.maps 속성을 통해 큰 값으로 설정

태스크 메모리 제한 - 공유 클러스터에서 일부 태스크로 인해 노드가 다운되어서는 안됨 - 태스크 트래커가 구동 중인 컴퓨터에서 “out of memory” 발생시 장애 발생 - ulimit를 사용한 방법 * 리눅스의 ulimit 명령을 사용하여 메모리 사용 제한 * 하둡의 mapred.child.ulimit 속성으로 제한 - 태스크 메모리 모니터링 사용 * 클러스터에서 태스크에 대한 가상 메모리 제한의 허용 범위를 관리자가 설정 * 사용자는 잡에 대한 최대 메모리 요구량을 잡 설정에서 지정

13년 9월 9일 월요일

Page 20: 하둡완벽가이드 Ch9

사용자 계정 생성

사용자 계정 생성 - hadoop fs -mkdir /user/username - hadoop fs -chown username:username /user/username

디렉토리 크기 제한 - hadoop dfsadmin -setSpaceQuota 1t /user/username

13년 9월 9일 월요일

Page 21: 하둡완벽가이드 Ch9

MapReduce - II(YARN)

13년 9월 9일 월요일

Page 22: 하둡완벽가이드 Ch9

MapReduce I과의 차이

리소스 매니저와 노드 매니저가 실행됨

실행 스크립트: start-yarn.sh - 현재 실행되고 있는 장비에서 리소스 매니저를 실행 - slaves 파일에 나열된 장비에서 노드 매니저를 실행

추가 제공 기능 - 잡 히스토리 서버: 과거 수행했던 잡에 대한 정보 제공 - 웹 앱 프록시 서버: 얀 사용을 위한 UI를 제공

13년 9월 9일 월요일

Page 23: 하둡완벽가이드 Ch9

얀 데몬 설정 파일<!-- mapred-site.xml --><?xml version="1.0"?><configuration> <property> <name>mapred.child.java.opts</name> <value>-Xmx400m</value> <!-- Not marked as final so jobs can include JVM debugging options --> </property></configuration>

<!-- yarn-site.xml --><?xml version="1.0"?><configuration> <property> <!-- 리소스 관리자 주소를 지정 --> <name>yarn.resourcemanager.address</name> <value>resourcemanager:8040</value> </property> <property> <!-- 임시 데이터를 저장할 로컬 디렉토리 --> <name>yarn.nodemanager.local-dirs</name> <value>/disk1/nm-local-dir,/disk2/nm-local-dir</value> <final>true</final> </property> <property> <!-- 태스크 트래커를 대신할 셔플 핸들러 설정 --> <name>yarn.nodemanager.aux-services</name> <value>mapreduce.shuffle</value> </property> <property> <!-- 노드 관리자가 수행할 컨테이너에 할당되는 메모리량 --> <name>yarn.nodemanager.resource.memory-mb</name> <value>8192</value> </property></configuration>

13년 9월 9일 월요일

Page 24: 하둡완벽가이드 Ch9

얀의 메모리 설정특정 노드에서 동작하는 태스크의 수는 필요한 메모리의 양의 총합에 의해 결정

맵과 리듀스 두가지 슬롯을 구분하지 않고 처리 - MapReduce I에서는 맵/리듀스 태스크가 각각의 슬롯으로 고정됨노드 관리자의 컨테이너 전용 메모리 설정 - 기본값 8192MB (yarn.nodemanager.resource.memory-mb)

개별 잡을 위한 메모리 설정 - mapred.child.java.opts로 맵/리듀스 태스크의 JVM 힙 사이즈를 결정 - mapred.*.memory.mb 로 태스크에 필요한 메모리 사이즈 지정 - ex) mapred.child.java.opts = 800M, mapreduce.map.memory.mb = 1,024M 노드 관리자는 태스크에 1,024M를 할당.

JVM 생성시 최대 힙 크기 800M 할당 만약, Heap + 스트리밍/파이프에 사용된 메모리 + Permgen 등 1024를 넘을 경우 노드 매니저에 의해

종료되고, 실패 처리 됨.

13년 9월 9일 월요일

Page 25: 하둡완벽가이드 Ch9

얀 데몬 주소와 포트속성명 기본값 설명

yarn.resourcemanager.address 0.0.0.0:8032 리소스 관리자의 RPC 서버 주소와 포트

yarn.resourcemanager.admin.address 0.0.0.0:8033 리소스 관리자의 admin RPC 서버 주소와 포트

yarn.resourcemanager.scheduler.address 0.0.0.0:8030 리소스 관리자 스케쥴러의 RPC 서버 주소와 포트

yarn.resourcemanager.resoucetracker.address 0.0.0.0:8031 리소스 관리자 리소스 트래커의 RPC 서버 주소와 포트

yarn.nodemanager.address 0.0.0.0:0 노드 관리자의 RPC 서버 주소와 포트

yarn.nodemanager.localizer.address 0.0.0.0:8040 노드 관리자의 로컬라이저의 RPC 서버 주소와 포트

mapreduce.jobhistory.address 0.0.0.0:10020 잡 히스토리 서버의 RPC 서버 주소와 포트

yarn.resoucemanager.webapp.address 0.0.0.0:8088 리소스 매니저의 HTTP 서버 주소와 포트

yarn.nodemanager.webapp.address 0.0.0.0:8042 노드 관리자의 HTTP 서버 주소와 포트

yarn.web-proxy.address 웹 앱 프록시 서버의 HTTP 서버 주소와 포트

mapreduce.jobhistory.webapp.address 0.0.0.0:19888 잡 히스토리 서버의 HTTP 서버 주소와 포트

mapreduce.shuffle.port 8088 셔플 핸들러의 HTTP 포트

13년 9월 9일 월요일

Page 26: 하둡완벽가이드 Ch9

기타 하둡 설정

13년 9월 9일 월요일

Page 27: 하둡완벽가이드 Ch9

하둡 보안

)LJXUH������7KH�WKUHH�VWHS�.HUEHURV�WLFNHW�H[FKDQJH�SURWRFRO

7KH�DXWKRUL]DWLRQ�DQG�VHUYLFH�UHTXHVW�VWHSV�DUH�QRW�XVHU�OHYHO�DFWLRQV��WKH�FOLHQW�SHU�IRUPV�WKHVH�VWHSV�RQ�WKH�XVHU¦V�EHKDOI��7KH�DXWKHQWLFDWLRQ�VWHS��KRZHYHU��LV�QRUPDOO\FDUULHG�RXW�H[SOLFLWO\�E\�WKH�XVHU�XVLQJ�WKH�kinit�FRPPDQG��ZKLFK�ZLOO�SURPSW�IRU�DSDVVZRUG��+RZHYHU��WKLV�GRHVQ¦W�PHDQ�\RX�QHHG�WR�HQWHU�\RXU�SDVVZRUG�HYHU\�WLPH\RX�UXQ�D�MRE�RU�DFFHVV�+')6��VLQFH�7*7V�ODVW�IRU����KRXUV�E\�GHIDXOW��DQG�FDQ�EHUHQHZHG�IRU�XS�WR�D�ZHHN���,W¦V�FRPPRQ�WR�DXWRPDWH�DXWKHQWLFDWLRQ�DW�RSHUDWLQJ�V\VWHPORJLQ�WLPH��WKHUHE\�SURYLGLQJ�VLQJOH�VLJQ�RQ�WR�+DGRRS�

,Q� FDVHV� ZKHUH� \RX� GRQ¦W� ZDQW� WR� EH� SURPSWHG� IRU� D� SDVVZRUG� �IRU� UXQQLQJ� DQXQDWWHQGHG�0DS5HGXFH�MRE��IRU�H[DPSOH���\RX�FDQ�FUHDWH�D�.HUEHURV�NH\WDE�ILOH�XVLQJWKH�ktutil�FRPPDQG��$�NH\WDE�LV�D�ILOH�WKDW�VWRUHV�SDVVZRUGV�DQG�PD\�EH�VXSSOLHG�WRkinit�ZLWK�WKH�-t�RSWLRQ�

An example/HW¦V�ORRN�DW�DQ�H[DPSOH�RI�WKH�SURFHVV�LQ�DFWLRQ��7KH�ILUVW�VWHS�LV�WR�HQDEOH�.HUEHURVDXWKHQWLFDWLRQ� E\� VHWWLQJ� WKH� hadoop.security.authentication� SURSHUW\� LQ� FRUH�VLWH�[PO� WR� kerberos��� 7KH� GHIDXOW� VHWWLQJ� LV� simple�� ZKLFK� VLJQLILHV� WKDW� WKH� ROGEDFNZDUGV�FRPSDWLEOH��EXW�LQVHFXUH��EHKDYLRU�RI�XVLQJ�WKH�RSHUDWLQJ�V\VWHP�XVHU�QDPHWR�GHWHUPLQH�LGHQWLW\�VKRXOG�EH�HPSOR\HG�

�� 7R�XVH�.HUEHURV�DXWKHQWLFDWLRQ�ZLWK�+DGRRS��\RX�QHHG�WR�LQVWDOO��FRQILJXUH��DQG�UXQ�D�.'&��+DGRRSGRHV�QRW�FRPH�ZLWK�RQH���<RXU�RUJDQL]DWLRQ�PD\�DOUHDG\�KDYH�D�.'&�\RX�FDQ�XVH��DQ�$FWLYH�'LUHFWRU\LQVWDOODWLRQ��IRU�H[DPSOH���LI�QRW��\RX�FDQ�VHW�XS�DQ�0,7�.HUEHURV���.'&�XVLQJ�WKH�LQVWUXFWLRQV�LQ�WKH/LQX[�6HFXULW\�&RRNERRN��2¦5HLOO\��������

Security | 325

www.it-ebooks.info

하둡 초기 버전의 보안에 대한 가정 - 공동 사용자가 맵 리듀스 클러스터를 안전한 환경에서 사용 - 불의의 사고로 인한 데이터 유실을 막기 위한 용도로 설계커버로스 인증 지원 - 하둡이 사용자 인증을 위한 자격 증명을 직접하지 않아도 되도록 디자인 - 아파치 하둡 릴리즈 0.20.20x 시리즈에 처음 추가 됨

HDFS의 읽기 동작은 여러번의 네임노드 호출과 하나 이상의 데이터 노드를 호출

- 각 호출 마다 인증하는 대신 위임 토큰 사용

13년 9월 9일 월요일

Page 28: 하둡완벽가이드 Ch9

하둡 클라우드

아마존 EC2의 하둡 - 아파치 윌 프로젝트(http://whirr.apache.org)

: 하둡을 EC2나 다른 클라우드 서비스에서 구동하기 쉽도록 해주는 자바 API와

스크립트를 제공

13년 9월 9일 월요일

Page 29: 하둡완벽가이드 Ch9

References1. Tom White (2013). 하둡 완벽가이드. (심탁길, 김현우, 옮김). 서울: 한빛미디어. (원서출판 2012)

13년 9월 9일 월요일