SlideShare una empresa de Scribd logo
1 de 58
2013.09.16
Ryan Ahn
HADOOP ADMINISTRATION
2 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop 2.0; Glance at YARN
CONTENTS
3 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
4 9/27/2013
• 누구나 Mobile device
• Facebook, Twitter 등의 서비스 포탈
> 100억장의 사진  수 PB 스토리지
• 이동통신
> 시간당 250 GB 이상
> 하루 6TB
> 1년, 5년, 10년?
• IT 서비스 융합
> Mobile + Biz(금융, 쇼핑 등)
Data paradigm shift
10244
10245
10248
10246
10247
5 9/27/2013
• Change  Chance
Big Data = Big Chance
2011년 2012년 2013년
1 클라우드 컴퓨팅 미디어 태블릿 이후 모바일 기기 대전
2
모바일 앱과 미디어
태블릿
모바일 중심 애플리케이션과
인터페이스
모바일 앱과 HTML5
3
소셜 커뮤니케이션 및
협업
상황인식과 소셜이 결합된 사용자
경험
퍼스널 클라우드
4 비디오 M2M IoT
5 차세대 분석 앱스토어와 마켓 플레이스
하이브리드 IT와 클라우드
컴퓨팅
6 소셜 분석 차세대 분석 전략적 빅데이터
7 상황인식 컴퓨팅 빅데이터 실행 가능한 분석
8 스토리지급 메모리 인메모리 컴퓨팅 인메모리 컴퓨팅
9 유비쿼터스 컴퓨팅 저전력 서버 통합 에코시스템
10 패브릭 기반 컴퓨팅 클라우드 컴퓨팅 엔터프라이즈 앱스토어
Data 관리
- 생산
- 관리
- 활용
6 9/27/2013
Value
Velocity
Volume Variety
Complexity
Big Data Goal: 4V + 1C
7 9/27/2013
• 데이터를 수집하고 처리하는데 많은 시간과 비용이 듬
> 인프라의 구조, 데이터 센터 수용 가능성
> 기존 인프라는 독립적 시스템, 애플리케이션 개발, 유지보수
> 플랫폼이 필요
• 데이터를 저장할 수 있는 값싼(?) 구조
> HDFS
• 데이터를 처리를 위한 Bundling Framework
> Map + Reduce
• Logic on Data
> Data Locality 보장
• I/O 집중적이면서 CPU 연산
> 파일처리 사고, 멀티노드 부하분산 사상
• 하드웨어 추가시 성능 Linear
> 결국, DB 보다 체감속도 존재 함
Why Hadoop
8 9/27/2013
Hadoop Architecture
9 9/27/2013
Hadoop & Eco-system
10 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
11 9/27/2013
• POSIX 요구사항 일부를 만족
• 다수의 독립 머신으로 시스템으로 성능과 비용을 모두 만족
• 수백만 개의 수십 기가바이트 크기의 파일을 저장 가능
> 수십 PB 이상도 가능
• Scale out 모델
> 대용량 스토리지 구성을 위해 RAID 대신 JBOD를 지원
> 애플리케이선 수준의 데이터 복제로 가용성 확보와 높은 성능 유지
• 큰 파일의 스트리밍 읽기와 쓰기에 더 최적화
> 하둡은 다수의 작은 파일에 대한 매우 느린 응답
> 배치 실행이 응답 속도보다 더 중요
• Fault Tolerance
> 머신과 디스크 등의 컴포넌트 실패에 대처
• 맵리듀스 Framework 연계 가능해야 함
HDFS Goal and Motivation
12 9/27/2013
• User Level File System
> 커널 외부에서 Application이 수행 됨, System Mount 불필요
> FUSE 사용 시에는?
• Distributed File System
• Disk Block Size
> Default Size  64M
> 128MB, 256MB, 1GB 늘릴 수 있음(Trade-off)
> 왜 블록 사이즈를 느릴까? 드라이브 탐색 조작 최소화 I/O 성능 향상
• Data Protection
> 여러 머신에 데이터 블록 복제
> 데이터는 한 번 쓰게 되면 수정 불가능
> 데이터 READ 시에는 복제 중 하나만 읽음
– 네트워크 상 가장 가까운 머신의 레플리카에서 데이터를 가져오게 됨
HDFS Design
13 9/27/2013
• 네임노드(NameNode)
> 파일시스템 메타데이터 전부 메모리에 저장
> 1백만 블록의 메타데이터를 저장하기 위해 1GB의 Heap 필요
• 보조 네임노드(Secondary NameNode)
> 백업은 용도는 아님
> 네임노드 이미지를 관리, 일종의 Check Pointer Server
HDFS Daemon
Daemon 클러스터당 개수 용도
네임노드 1 파일시스템의 메타데이터 저장,
파일시스템의 글로벌 이미지 제공
보조 네임노드 1 네임노드 트랜잭션 로그의 체크포인트
작업수행
데이터노드 다수 블록 데이터 저장(파일내용)
14 9/27/2013
HDFS 동작방식(Read)
Name Node
Secondly
Name Node
Data Node Data Node Data Node Data Node Data Node
rack1 rack2
HDFS
Application
Hadoop Client
1. 파일경로: /foo/bar/test.txt 요청
2. 블록1, 호스트… 응답
Host1 Host2 Host3
3. 블록1 읽기 요청
4. 데이터 응답
15 9/27/2013
HDFS 동작방식(Write)
Name Node
Secondly
Name Node
Data Node Data Node Data Node Data Node Data Node
rack1 rack2
HDFS
Application
Hadoop Client
1. 파일 생성을 위한 파일경로 생성 요청
- 파일경로: /foo/bar
- 복제본수: 3
Memory
2.1 파일 경로 정보 생성(메모리에 생성)
2.2 락 생성(다른 클라이언트가 생성하지 못하게)
Host1 Host2
3.1파일 데이터를 저장할 데이터 노드 선택 후
호스트 정보 반환 (Host1, Host2, Host3)
4. 파일 데이터 및 데이터 노드 목록 전송
Host3
5.1 로컬저장 5.2복제본 저장 5.3복제본 저장
edits
5.4 저장완료 (close()명령)
6. 메모리의 내용을 edits 파일에 기록(네임스페이스 등록)
정해진 블록크기를 넘어서면
클라이언트는 네임 노드로
새로운 데이터 노드 요청
fsimage
주기적으로 다운로드 후
edits와 fsimage 병합
fsimage 파일을
Name Node로 전송
16 9/27/2013
HDFS 동작방식(메타데이터)
Name Node
Secondly
Name Node
1. edit 파일 회전(보관, edits.new 생성)
2. fsimage와 edits 파일 복사
4. 새로운 fsimage 파일 전송
Disk
3. 두 파일을 읽어서 edits 를 반영,
새로운 fsimage 파일 생성5. edits.new 파일명을 edits로 변경
Disk
• 매시간(기본값) 또는 네임노드 edits 파일의 크기가 64MB가 되면 발생
• 최근 하둡버전은 트랜잭션 개수 기준으로 체크 포인트를 수행
17 9/27/2013
NFS
• Hadoop NameNode는 SPOF
• 따라서 HA 구조로 만들어야 함
• HA 기본 기능은 Hadoop 1.x 버전 이하에서는 존재하지 않음
> Hadoop 2.0(YARN)의 가장 인기있는 기능
• NFS, Zookeeper 등을 이용하여 HA 구현
Hadoop HA(NameNode)
Zookeeper
Quorum
복구
컨트롤러
복구
컨트롤러
네임노드(Ac
tive)
네임노드(St
andby)
메타데이
터
공유
메타데이
터
메타데이
터
* 그 밖의 페더레이션 구조가 있음
18 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
19 9/27/2013
• MapReduce Framework 사상
> Logic on Data; Data Locality 반영
• MapReduce: Simplified Data Processing on Large Clusters
• 개발 단순성
> 한 번에 하나의 레코드만을 다루는 데이처 처리 프로그램만 작성하면 됨
> 하지만, Functionality Programming 개념을 숙지; KEY-VALUE
– 사실, Java MapReduce 는 변종
> Filtering, Projection, Grouping, Aggregation 등을 구현
• 확장성
> 태스크들은 서로 통신하거나, 상태를 공유하지 않고 분산된 머신에서
병렬 수행
• 내고장성
> 실패는 예외가 아니라 항상 일어나는 일
> 클러스터의 워커 노드에서 태스크가 실패하면 다시 시도
MapReduce 의 Features
20 9/27/2013
• (1) Job summit  (2) Map Task  (3) Shuffling& Sort  (4) Reduce Task
MapReduce 4단계 처리
21 9/27/2013
• Job Tracker
> 1개임
> Client와 Task Tracker와 RPC 통신 수행
> Task Tracker는 Heartbeat으로 상태과 정보를 보내 줌
> Job Configuration 책임
• Task Tracker
> 사용자 코드를 수행하는 데몬
> Job Tracker에게 주기적으로 진행과정 보고
> Job Tracker로부터 할당 받으면 새로운 프로세스 만들어 Task
Attempt함
– Task vs. Task Attempt
MapReduce Daemon
22 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
23 9/27/2013
1. 하둡 배포판 버전 선택
2. 하드웨어 선택
3. 운영체제 선태과 준비 사항
4. 커널 튜닝
5. 네트워크 설계
Cluster Planning
24 9/27/2013
• Apache Hadoop vs. Packaging Hadoop
> Apache Hadoop
> Hortonworks
> Cloudera
하둡 패포판과 버전 선택
25 9/27/2013
• 20대 미만 클러스터(소형 클러스터) 마스터 하드웨어 저비용 투자
> CPU: 2.6GH, 쿼드코어 CPU 2개
> MEM: DDR3 RAM 24GB
> NT: 1GB NIC 2개
> Controller: SAS 드라이버 Controller, SAS II(OS 디바이스 JBOD)
> Disk Storage: 최소 1TB 이상
• 300대 미만
> Memory만 24GB 혹은 48GB
• 대형 Cluster
> Memory 96GB
하드웨어 선택
구분 대상 고려사항
마스터
하드웨어
선택
네임노드 • 독립머신, 메타데이터를 메모리에 저장
• CPU보다 메모리 위주
보조
네임노드
• 네임노드와 같음, 동일한 메모리, 디스크 용량
필요
잡 트래커 • 많은 메모리를 사용, 네임노드와 같은 Spec
26 9/27/2013
하드웨어 선택
구분 대상 고려사항
워커
하드웨어
선택
데이터 노드 • 저장과 계산 두 역할 모두 함
• 따라서 CPU, Disk Storage 고려
• 복제 계수, X 3
• MapReduce 임시 저장, 20~30% 추가 저장
• 메모리 보다, Disk 위주
• 연산을 위한 CPU 선택
태스크
트래커
중급(많은 메모리, 많은 디스크, 1GB 이더넷) 고급(대용량 메모리, 초고속 디스크, 10GB
이더넷)
• CPU: 2.9GHz, 15MB 캐시 6코어 CPU 2개
• 메모리: DDR3-1600 ECC 64GB
• 디스크 컨트롤러: SAS 6GB/S 1개
• 디스크: 3TB LFF SATA II 7200 RPM HDD 12개
• 네트워크: 1GB 이더넷 2개
• 비고: 인텔 하이퍼 쓰레딩 QPI 기능 권장
• 3 또는 4 채널 메모리 설정
• CPU: 2.9GHz, 15MB 캐시 6코어 CPU 2개
• 메모리: DDR3-1600 ECC 96GB
• 디스크 컨트롤러: SAS 6GB/S 2개
• 디스크: 3TB LFF SATA II 7200 RPM HDD 24개
• 네트워크: 10GB 이더넷 1개
• 비고: 인텔 하이퍼 쓰레딩 QPI 기능 권장
• 3 또는 4 채널 메모리 설정
27 9/27/2013
• Scale up 대신 Scale out
• 가상화를 일반적으로 사용하지 않는다.
> 베어메탈 등의 하이퍼바이저는 I/O 성능에 영향을 줌
하드웨어 선택: 클러스터 규모 결정
일일 수집 용량 1TB
복제 인수 3(블록 사본 수)
일일 실제 용량 3TB 일일수집 용량 X 복제인수
노드 저장 요량 24TB 2TB SATA II HDD 12개
맵리듀스 임시 데이터 용량 25% 맵리듀스 임시 데이터
노드 가용 저장소 용량 18TB 노드저장용량 – 맵리듀스 임시 데이터
용량
1년 61 노드 일일수집용량 X 복제인수 X 365 / 노드
가용 저장소 용량
1년(매월 5% 증가) 81 노드
1년(매월 10% 증가) 109 노드
28 9/27/2013
• RedHat, CentOS, Ubuntu, SuSE 등 리눅스 운영체제 최적화
• Puppet, Chef 등의 설정관리 시스템 필요(오픈소스)
• 소프트웨어
> Oracle Java 1.6 이상
– Hadoop RPM 사용하려면, Oracle Java도 RPM 버전으로 설치
> Cron Daemon
> ntp
> SSH
> SNTP
> rsync
• Hostname, DNS 인식
> /etc/hostname, /etc/hosts, java dns
운영체제 선택과 준비사항
29 9/27/2013
데몬 위치 설정 매개변수 소유자:그룹 권한
NameNode /data/1/dfs/nn,
/data/2/dfs/nn,
/data/3/dfs/nn
dfs.name.dir hdfs:hadoop 0700
Secondary Name
Node
/data/1/dfs/snn fs.checkpoint.dir hdfs:hadoop 0700
DataNode /data/1/dfs/dn,
/data/2/dfs/dn,
/data/3/dfs/dn
dfs.datanode.dir hdfs:hadoop 0700
Task Tracker /data/1/mapred/local,
/data/2/mapred/local,
/data/3/mapred/local,
mapred.local.dir mapred:hadoop 0700
Job Tracker /data/1/mapred/local mapred.local.dir mapred:hadoop 0700
전체 /var/log/hadoop
/tmp/hadoopuser.name
$HADOOP_LOG_DIR
hadoop.tmp.dir
root:hadoop
root:root
0775
1777
Directory Layout
30 9/27/2013
• 커널 매개변수 /etc/sysctl.conf 설정
> 반드시 재시작해야 반영
• vm.swappiness
> 데이터와 메모리간의 SWAP
> 0~100, 수치가 높을수록 데이터를 더 많이 스왑
> 대략 60~80이면 적당
• Vm.overcommit_memory
> malloc() 함수 호출하여 메모리 할당 옵션
> 0: 메모리가 충분하면 애플리케이션 메모리 할당
> 1: 물리 메모리 초과할 때 vm.overcommit_ratio 기준으로 스왑후 할당
– ratio 50이고, 물리 메모리 1GB이면 커널 스왑 포함해서 1.5GB
> 2: 커널은 애플리케이션 메모리 할당 요청을 무조거 수용
– 절대 권고하지 않음
커널 튜닝
31 9/27/2013
• 리눅스의 LVM 사용 금지
> /dev/sd* 아닌 /dev/vg* 이면 잘 못된 설정
• 대부분 운영체제 파일시스템 따라 감
> ext3, ext4, xfs
• 항상 마운트 옵션에 추가해야 함
디스크 설정
32 9/27/2013
• 꼭 네트워크 엔지니어와 함께 설계해야 함
• 고립된 네트워크가 최적
• 1,152 지원 장비
> Cisco Nexus 7000
> 스파인 패브릭 스위치 2개
네트워크 설계
48x10GbE
48x10GbE
4 x 10GbE
48x10GbE
4 x 10GbE
48x10GbE
4 x 10GbE
Host Host Host
33 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
34 9/27/2013
• Apache Hadoop
> Tarball 경우 압축해제로 끝
> 전문적 관리를 위해 디렉터리 위치 조정 가능
• Cloudera, Hortonworks
> Installation Manager가 존재
> Cloudera Manager
> Hortonworks Management Center
하둡 배포판에 따라서
35 9/27/2013
• 버전 관리가 용이
• 디렉토리 위치 일관성
> /etc/hadoop
– conf 디렉터리(뒤장에 설명)
> /etc/rc.d/init.d
– 데몬 형식의 시작/종료/재식 스크립트
> /usr/bin
– hadoop 실행파일과 태스크 컨트롤러 바이너리 파일
> /usr/include/hadoop
– 하둡 파이프를 위한 C++ 헤더 파일
> /usr/lib
– 하둡 C 라이브러리
> /usr/libexec
> /usr/sbin/
> /usr/share/doc/hadoop
RPM 패키지 사용했을 경우
36 9/27/2013
• hadoop-env.sh
• core-site.xml
• hdfs-site.xml
• mapred-site.xml
• log4j.properties
• masters
• slaves
• fair-scheduler.xml
• capacity-scheduler.xml
• dfs.include
• dfs.exclude
• hadoop-policy.xml
• mapred-queue-acls.xml
• taskCtrller.cfg
Hadoop conf 디렉터리 아래 파일
Configuration Framework 핵심
<configuration>
<property>
<name></name>
<value></value>
<finale></final>
</property>
<configuration>
37 9/27/2013
• Demo
Installation and Configuration
38 9/27/2013
name value 설명
fs.default.name(core-site.xml) hdfs://centos1:9000 파일시스템의 URL 지정
dfs.name.dir /data/1/dfs/nn 네임노드 메타데이터 저장소
dfs.data.dir /data/1/dfs/dn 데이터 노드 블록 저장소
fs.checkpoint.dir /data/1/dfs/snn 체코포인트 메타데이터 저장소
dfs.permission.supergroup hadoop 슈퍼유저그룹으로 모든 HDFS
조작수행
io.file.buffer.size(core-site.xml) 65536 IO버퍼 크기 클수록 네트워크
전송효율 높아짐 하지만, 메모리
소비와 지연시간도 늘어남
dfs.balance.bandwidthPerSec 분산된 블록의 균형을 맞추기 위한
도구
dfs.block.size 134217728 새로운 파일이 생성시 필요한 블록
크기
fs.trash.interval (core-site.xml) 1440(24시간) 휴지통 기능
HDFS Configurations(hdfs-site.xml)
• dfs.datanode.du.reserved,
• dfs.namenode.handler.count,
• dfs.datanode.failed.volumes.tolerated
• dfs.hosts
• dfs.host.exclude
39 9/27/2013
MapReduce Configurations(mapred-site.xml)
name value 설명
mapred.job.tracker hdfs://centos1:9000 Job Tracker URL scheme
mapred.local.dir /data/1/mapred/local 로컬 디스크에 임시 출력을 저장
mapred.java.child.opts -Xmx2g JVM 메모리 사용 공간에
mapred.child.ulimit 1572864 태스크의 가상 메모리 용량을 제한
mapred.tasktracker.map.tasks.maximu
m
16 각 머신이 동시에 실행할 수 있는 태스크
수는
mapred.tasktracker.reduce.tasks.
maximum
8 각 머신이 동시에 실행할 수 있는 태스크
수는
mapred.compress.map.output org.apache.io.compress.SnappyCodec 뱀 태스크의 출력을 디스크에 저장할 때 기본
설정
mapred.output.compression.type BLOCK maprecl.output.compression.
type 에 지정된 압축 방식
• mapred.jobtracker.taskScheduler
• mapred.reduce.parallel.copies
• mapred.reduce.tasks
• tasktracker.http.threads
• mapred.reduce.slowstart.completed.maps
40 9/27/2013
• HDFS 블록 사본은 서로 다른 머신에 저장
> 하지만, 위치 정보가 없다면 하나의 랙에 모두 저장 가능성이 있음
> 랙 전체가 실패할 경우 가용성 문제 발생
• 첫 번째 복제 저장소는 임의로 결정
• 두 번째, 세 번째 복제 저장소는 다른 랙의 두 머신 저장
> 3개의 랙에 저장하지 않는 이유는 머신의 실패보다 랙의 실패가 적다.
> 두 번째, 세 번째 동일 랙 내의 머신에 배치하면 데이터 교환 손 쉬움
– 랙 스위치만 거치게 되니까.
• 스크립트로 작성하여 Configuration 설정
Rack Topology
41 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
42 9/27/2013
• 대개 Kerberos 사용
> 주체, 인스터스 영역의 세 가지 컴포넌트
> Kerberos 자체만으로 학습해야 하며, Learning Curve 상당히 큼
> 따라서, 시스템 관리자/운영자와 함께
> 오히려 하둡은 core-site.xml/mapred-site.xml 설정파일만 수정하면
끝
식별, 인증, 허가
name value
hadoop.security.authentication Kerberos
hadoop.securitY.authorization true
dfs.namenode.keytab.file
dfs.datanode.keytab.file
/etc/hadoop/conf/hdfs.keytab
dfs.block.access.token
dfs.namenode.kerberos.principal
dfs.namenode.kerberos.https.principal
dfs.datanode.kerberos.principal
dfs.datanode.kerberos.https.principal
host/ _HOST@MYREALM.MYCOMPANY.COM
dfs.https.address
dfs.datanode.http.address
0.0.0.0
0.0.0.0:1006
dfs.https.port 50470
dfs.datanode.address 0.0.0.0:1004
dfs.datanode.data.dir.perm 0700
43 9/27/2013
• 다른 에코시스템과 권한/인증/허가 설정을 해야 함
• 안전하거나 아니거나!
> 데이터는 소중하다. 따라서 일반적인 데이터 센터 내에서도 TOP Level
위치
> 기업 내 SOC(Security Official Center) 운영
– 섬! 인터넷, 휴대폰도 운용되지 않음
– 따라서 개발 Cluster와 구분되어야 함
– Hadoop Client 연결되는 노드가 필수로 필요함
• 아니면, 완벽한 보안 가이드 준수
> 하지만, 보안 레벨이 높을수록 성능은 저하 됨
> 데이터 암호화
– 디코딩 레벨을 하둡에서 할 것인가? 아니면 외부 서버에서 할 것인가?
– 대게 하둡에서는 하지 않음  디코딩 자체가 극심한 IO 문제를 발생함
Hadoop Security Planning
44 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
45 9/27/2013
• 디렉터리 트리 구조 활용으로 사용자들에세 쿼터 부여
# hadoop dfsadmin –setSpaceQuota 10737418240 /user/joel
# hadoop fs –count –q /user/joel
HDFS 쿼터
/
--data/
----user-activity/
----syslog/
----purchase/ # 쿼터 제한 없음
--group/
----ps/ #쿼터 100TB
--users/ #사용자 쿼터 1TB
----joel/
----ryan/
----simon/
46 9/27/2013
MapReduce Scheduler
• FIFO 스케줄러
> 먼저 오면 먼저 처리
> 독점 문제 발생
> 우선순위 지원
– 매우 낮음 < 낮음 < 보통 < 높음 < 매우 높음
> 소형, 실험용, 개발 클러스터에만 적용
• Fair 스케줄러
> 큐에 제출된 잡은 풀 중 하나에 배치
> 클러스터의 총 슬롯 용량
> 다른 풀의 현재 요청, 최소 보장 슬롯, 기용 슬롯 용량 등으로 태스크
슬롯 수 결정
• Capacity 스케줄러
> 총 클러스터 슬롯 수를 가진 다수의 큐를 설정
> 큐에 요청이 있을 때만 예약
47 9/27/2013
Fair 스케줄러 알고리즘 설명
풀 요청 최소분
배
실제분
배
조엘 20 0 20
라이언 40 0 40
총 슬롯 용량: 80
풀 요청 최소분
배
실제분
배
조엘 20 0 20
라이언 40 0 30
싸이먼 120 0 30
총 슬롯 용량: 80
풀 요청 최소분
배
실제분
배
조엘 40 0 25
라이언 30 0 25
싸이먼 30 50 30
총 슬롯 용량: 80
풀 요청 최소분
배
실제분
배
조엘 40 0 15
라이언 30 0 15
싸이먼 60 50 50
총 슬롯 용량: 80
풀 요청 가중치 실제분
배
조엘 80 1 26
라이언 60 2 53
총 슬롯 용량: 80
48 9/27/2013
• Demo
Fair Scheduler
49 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
50 9/27/2013
• 하둡의 모든 데몬은 Java 데몬
• 실행 계정이 일반 계정으로 실행 했다면
> # jps
• 실행 계정이 서비스형태 즉, root 실행 했다면
> # ps –elf | grep java
> # ps –elf | grep –i namenode …
• 하둡은 프로세스 실행
> # start-all.sh // 네임노드, 데이터 노드, 잡 트래커, 태스트
트래커 실행
> # stop-all.sh // 네임노드, 데이터 노드, 잡 트래커, 태스트
트래커 정지
> # start-dfs.sh // 네임노드, 데이터 노드 실행
> # stop-dfs.sh // 네임노드, 데이터 노드 정지
> # start-mapred.sh // 잡 트래커, 태스트 트래커 실행
> # stop-mapred.sh // 잡 트래커, 태스트 트래커 정지
> # hadoop-daemon.sh // 하둡 노드 개별적 실행
Hadoop Process 관리
51 9/27/2013
• 데모
Cluster Commissioned, Decommissioned
52 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
53 9/27/2013
• 성능 모니터링
> JVM, dfs, mapred
> Job status, Failed Job, Task 개수
• 상태 모니터링
> CPU, Memory, Disk, Network Traffic
> Hadoop Daemon, Hadoop Log
• 상용 툴을 이용하는 방법
> 상당히 고가
• 일반적인 오픈소스 활용
> Ganglia + Nagios + Ambari(Hadoop Ecosystem)
Monitoring
54 9/27/2013
• 데이터 백업
> 분산 복제(distcp)
> 병렬 데이터 수집시 바로 데이터 이중화
– Apache Flume 이용하여 HDFS 싱크로 통해 Direct 저장
• 메타 데이터 백업
> 내장 웹서버 /getimage 서블릿 호출
> getimage=1, fsimage 추출
# curl –o fsimage.201309 ‘http://centos1:50070/getimage?getimage=1’
> getedit=1, edits 추출
# curl –o fsimage.201309 ‘http://centos1:50070/getimage?getedits=1’
Backup and Recovery
Hadoop Cluster 1
Hadoop Cluster 2
Flume
sink
Data source
동시 저장
55 9/27/2013
• 기본 사용 방법
# hadoop distcp hdfs://centos1:50030/path/one hdfs://remote:50030/path/two
> -m: 매퍼수 제어
> -overwrite: 기존파일 덮어쓰기
> -update: 변경된 부분만 복사
> -delete: 원본에는 없고 목적지에 있는 파일 삭제
• 기본 동종 클러스터
> hdfs://
• 이기종 클러스터
> webhdfs://
> httpfs://
• Amazon S3 지원
> s3://
분산복제 Distcp
56 9/27/2013
1. Hadoop Introduction
2. Hadoop Distributed File System
3. Hadoop MapReduce
4. Hadoop Cluster Planning
5. Hadoop Installation and Configuration
6. Hadoop Security
7. Hadoop Resource Management
8. Hadoop Cluster Management
9. Hadoop Monitoring, Backup and Recovery
10. Hadoop NG; Glance at YARN
CONTENTS
57 9/27/2013
Hadoop 2.0
Aster 6.0 Key Cap.
- Graph
- BSP
- ADFS
58 9/27/2013
YARN
• Resource Manager
> Job Tracker의 자원 관리
> 클러스터 모니터링
• Node Manager
> Task Tracker 역할
– Map과 Reduce 관리
> 실질적 MapReduce 수행
• Application Master
> 단일 Job Tracker가 아님

Más contenido relacionado

La actualidad más candente

Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정HyeonSeok Choi
 
하둡 설치(의사분산모드)
하둡 설치(의사분산모드)하둡 설치(의사분산모드)
하둡 설치(의사분산모드)Kwangyoung Jeon
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대DaeHeon Oh
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다민철 정민철
 
하둡 타입과 포맷
하둡 타입과 포맷하둡 타입과 포맷
하둡 타입과 포맷진호 박
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoMatthew (정재화)
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for HadoopSeungYong Baek
 
서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료Teddy Choi
 
SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표Sinhyub Kim
 
하둡 (Hadoop) 및 관련기술 훑어보기
하둡 (Hadoop) 및 관련기술 훑어보기하둡 (Hadoop) 및 관련기술 훑어보기
하둡 (Hadoop) 및 관련기술 훑어보기beom kyun choi
 
하둡 HDFS 훑어보기
하둡 HDFS 훑어보기하둡 HDFS 훑어보기
하둡 HDFS 훑어보기beom kyun choi
 
하둡완벽가이드 Ch6. 맵리듀스 작동 방법
하둡완벽가이드 Ch6. 맵리듀스 작동 방법하둡완벽가이드 Ch6. 맵리듀스 작동 방법
하둡완벽가이드 Ch6. 맵리듀스 작동 방법HyeonSeok Choi
 
알고 쓰자! HBase | Devon 2012
알고 쓰자!  HBase | Devon 2012알고 쓰자!  HBase | Devon 2012
알고 쓰자! HBase | Devon 2012Daum DNA
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoopMinJae Kang
 

La actualidad más candente (20)

Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정
 
하둡 설치(의사분산모드)
하둡 설치(의사분산모드)하둡 설치(의사분산모드)
하둡 설치(의사분산모드)
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
 
Apache hive
Apache hiveApache hive
Apache hive
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다
 
하둡관리
하둡관리하둡관리
하둡관리
 
Hive begins
Hive beginsHive begins
Hive begins
 
하둡 타입과 포맷
하둡 타입과 포맷하둡 타입과 포맷
하둡 타입과 포맷
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with Tajo
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
 
서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료서울 하둡 사용자 모임 발표자료
서울 하둡 사용자 모임 발표자료
 
SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표
 
Apache sqoop
Apache sqoopApache sqoop
Apache sqoop
 
하둡 (Hadoop) 및 관련기술 훑어보기
하둡 (Hadoop) 및 관련기술 훑어보기하둡 (Hadoop) 및 관련기술 훑어보기
하둡 (Hadoop) 및 관련기술 훑어보기
 
하둡 HDFS 훑어보기
하둡 HDFS 훑어보기하둡 HDFS 훑어보기
하둡 HDFS 훑어보기
 
HBase 훑어보기
HBase 훑어보기HBase 훑어보기
HBase 훑어보기
 
Hdfs
HdfsHdfs
Hdfs
 
하둡완벽가이드 Ch6. 맵리듀스 작동 방법
하둡완벽가이드 Ch6. 맵리듀스 작동 방법하둡완벽가이드 Ch6. 맵리듀스 작동 방법
하둡완벽가이드 Ch6. 맵리듀스 작동 방법
 
알고 쓰자! HBase | Devon 2012
알고 쓰자!  HBase | Devon 2012알고 쓰자!  HBase | Devon 2012
알고 쓰자! HBase | Devon 2012
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoop
 

Destacado

Doug Cutting on the State of the Hadoop Ecosystem
Doug Cutting on the State of the Hadoop EcosystemDoug Cutting on the State of the Hadoop Ecosystem
Doug Cutting on the State of the Hadoop EcosystemCloudera, Inc.
 
20130506132258 빅데이터시대sns의진화-지용석[1]
20130506132258 빅데이터시대sns의진화-지용석[1]20130506132258 빅데이터시대sns의진화-지용석[1]
20130506132258 빅데이터시대sns의진화-지용석[1]Yong Seok Chi
 
[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현
[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현
[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현K data
 
DLAB company info and big data case studies
DLAB company info and big data case studiesDLAB company info and big data case studies
DLAB company info and big data case studiesDLAB
 
Pivotal HAWQ 소개
Pivotal HAWQ 소개Pivotal HAWQ 소개
Pivotal HAWQ 소개Seungdon Choi
 
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...Artem Ervits
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개Hyoungjun Kim
 
Deview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
Deview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomDeview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
Deview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomNAVER D2
 
International Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data ScienceInternational Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data Sciencedatasciencekorea
 
Multi User Data science with Zeppelin
Multi User Data science with ZeppelinMulti User Data science with Zeppelin
Multi User Data science with ZeppelinVinay Shukla
 
빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)동학 노
 
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters Hortonworks
 
Map reduce 기본 설명
Map reduce 기본 설명Map reduce 기본 설명
Map reduce 기본 설명Jinho Yoo
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimGruter
 
(130105) #fitalk trends in d forensics (dec, 2012)
(130105) #fitalk   trends in d forensics (dec, 2012)(130105) #fitalk   trends in d forensics (dec, 2012)
(130105) #fitalk trends in d forensics (dec, 2012)INSIGHT FORENSIC
 

Destacado (20)

Doug Cutting on the State of the Hadoop Ecosystem
Doug Cutting on the State of the Hadoop EcosystemDoug Cutting on the State of the Hadoop Ecosystem
Doug Cutting on the State of the Hadoop Ecosystem
 
20130506132258 빅데이터시대sns의진화-지용석[1]
20130506132258 빅데이터시대sns의진화-지용석[1]20130506132258 빅데이터시대sns의진화-지용석[1]
20130506132258 빅데이터시대sns의진화-지용석[1]
 
[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현
[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현
[2016 데이터 그랜드 컨퍼런스] 2 3(빅데이터). 엑셈 빅데이터 적용 사례 및 플랫폼 구현
 
DLAB company info and big data case studies
DLAB company info and big data case studiesDLAB company info and big data case studies
DLAB company info and big data case studies
 
Enterprise Data Classification and Provenance
Enterprise Data Classification and ProvenanceEnterprise Data Classification and Provenance
Enterprise Data Classification and Provenance
 
Pivotal HAWQ 소개
Pivotal HAWQ 소개Pivotal HAWQ 소개
Pivotal HAWQ 소개
 
Modernise your EDW - Data Lake
Modernise your EDW - Data LakeModernise your EDW - Data Lake
Modernise your EDW - Data Lake
 
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개
 
Deview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
Deview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomDeview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
Deview2013 SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
 
International Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data ScienceInternational Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data Science
 
Multi User Data science with Zeppelin
Multi User Data science with ZeppelinMulti User Data science with Zeppelin
Multi User Data science with Zeppelin
 
빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)
 
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
 
Apache Ranger
Apache RangerApache Ranger
Apache Ranger
 
Map reduce 기본 설명
Map reduce 기본 설명Map reduce 기본 설명
Map reduce 기본 설명
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
 
(130105) #fitalk trends in d forensics (dec, 2012)
(130105) #fitalk   trends in d forensics (dec, 2012)(130105) #fitalk   trends in d forensics (dec, 2012)
(130105) #fitalk trends in d forensics (dec, 2012)
 
Korean Word Network
Korean Word NetworkKorean Word Network
Korean Word Network
 
Sdn and Security
Sdn and SecuritySdn and Security
Sdn and Security
 

Similar a Hadoop administration

Hadoop Overview 1
Hadoop Overview 1Hadoop Overview 1
Hadoop Overview 1Kay Kim
 
log-monitoring-architecture.pdf
log-monitoring-architecture.pdflog-monitoring-architecture.pdf
log-monitoring-architecture.pdfSungkyun Kim
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링BOAZ Bigdata
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나sprdd
 
데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)SeungYong Baek
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용Seoro Kim
 
Hadoop distributed file system rev3
Hadoop distributed file system rev3Hadoop distributed file system rev3
Hadoop distributed file system rev3Sung-jae Park
 
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0sprdd
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0sprdd
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big dataH K Yoon
 
Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리BYOUNG GON KIM
 
Big data application architecture 요약2
Big data application architecture 요약2Big data application architecture 요약2
Big data application architecture 요약2Seong-Bok Lee
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례Gruter
 
Alluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-CloudAlluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-CloudJinwook Chung
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuningGruter
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomGruter
 
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfSK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfDeukJin Jeon
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습동현 강
 
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석smartstudy_official
 

Similar a Hadoop administration (20)

Hadoop Overview 1
Hadoop Overview 1Hadoop Overview 1
Hadoop Overview 1
 
log-monitoring-architecture.pdf
log-monitoring-architecture.pdflog-monitoring-architecture.pdf
log-monitoring-architecture.pdf
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나
 
데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용
 
Hadoop distributed file system rev3
Hadoop distributed file system rev3Hadoop distributed file system rev3
Hadoop distributed file system rev3
 
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big data
 
Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리Flamingo 1.2 릴리즈의 지원 기능 정리
Flamingo 1.2 릴리즈의 지원 기능 정리
 
Big data application architecture 요약2
Big data application architecture 요약2Big data application architecture 요약2
Big data application architecture 요약2
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
 
Alluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-CloudAlluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-Cloud
 
Mapreduce tuning
Mapreduce tuningMapreduce tuning
Mapreduce tuning
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
 
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfSK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습
 
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
 

Último

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 

Último (6)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

Hadoop administration

  • 2. 2 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop 2.0; Glance at YARN CONTENTS
  • 3. 3 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 4. 4 9/27/2013 • 누구나 Mobile device • Facebook, Twitter 등의 서비스 포탈 > 100억장의 사진  수 PB 스토리지 • 이동통신 > 시간당 250 GB 이상 > 하루 6TB > 1년, 5년, 10년? • IT 서비스 융합 > Mobile + Biz(금융, 쇼핑 등) Data paradigm shift 10244 10245 10248 10246 10247
  • 5. 5 9/27/2013 • Change  Chance Big Data = Big Chance 2011년 2012년 2013년 1 클라우드 컴퓨팅 미디어 태블릿 이후 모바일 기기 대전 2 모바일 앱과 미디어 태블릿 모바일 중심 애플리케이션과 인터페이스 모바일 앱과 HTML5 3 소셜 커뮤니케이션 및 협업 상황인식과 소셜이 결합된 사용자 경험 퍼스널 클라우드 4 비디오 M2M IoT 5 차세대 분석 앱스토어와 마켓 플레이스 하이브리드 IT와 클라우드 컴퓨팅 6 소셜 분석 차세대 분석 전략적 빅데이터 7 상황인식 컴퓨팅 빅데이터 실행 가능한 분석 8 스토리지급 메모리 인메모리 컴퓨팅 인메모리 컴퓨팅 9 유비쿼터스 컴퓨팅 저전력 서버 통합 에코시스템 10 패브릭 기반 컴퓨팅 클라우드 컴퓨팅 엔터프라이즈 앱스토어 Data 관리 - 생산 - 관리 - 활용
  • 7. 7 9/27/2013 • 데이터를 수집하고 처리하는데 많은 시간과 비용이 듬 > 인프라의 구조, 데이터 센터 수용 가능성 > 기존 인프라는 독립적 시스템, 애플리케이션 개발, 유지보수 > 플랫폼이 필요 • 데이터를 저장할 수 있는 값싼(?) 구조 > HDFS • 데이터를 처리를 위한 Bundling Framework > Map + Reduce • Logic on Data > Data Locality 보장 • I/O 집중적이면서 CPU 연산 > 파일처리 사고, 멀티노드 부하분산 사상 • 하드웨어 추가시 성능 Linear > 결국, DB 보다 체감속도 존재 함 Why Hadoop
  • 9. 9 9/27/2013 Hadoop & Eco-system
  • 10. 10 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 11. 11 9/27/2013 • POSIX 요구사항 일부를 만족 • 다수의 독립 머신으로 시스템으로 성능과 비용을 모두 만족 • 수백만 개의 수십 기가바이트 크기의 파일을 저장 가능 > 수십 PB 이상도 가능 • Scale out 모델 > 대용량 스토리지 구성을 위해 RAID 대신 JBOD를 지원 > 애플리케이선 수준의 데이터 복제로 가용성 확보와 높은 성능 유지 • 큰 파일의 스트리밍 읽기와 쓰기에 더 최적화 > 하둡은 다수의 작은 파일에 대한 매우 느린 응답 > 배치 실행이 응답 속도보다 더 중요 • Fault Tolerance > 머신과 디스크 등의 컴포넌트 실패에 대처 • 맵리듀스 Framework 연계 가능해야 함 HDFS Goal and Motivation
  • 12. 12 9/27/2013 • User Level File System > 커널 외부에서 Application이 수행 됨, System Mount 불필요 > FUSE 사용 시에는? • Distributed File System • Disk Block Size > Default Size  64M > 128MB, 256MB, 1GB 늘릴 수 있음(Trade-off) > 왜 블록 사이즈를 느릴까? 드라이브 탐색 조작 최소화 I/O 성능 향상 • Data Protection > 여러 머신에 데이터 블록 복제 > 데이터는 한 번 쓰게 되면 수정 불가능 > 데이터 READ 시에는 복제 중 하나만 읽음 – 네트워크 상 가장 가까운 머신의 레플리카에서 데이터를 가져오게 됨 HDFS Design
  • 13. 13 9/27/2013 • 네임노드(NameNode) > 파일시스템 메타데이터 전부 메모리에 저장 > 1백만 블록의 메타데이터를 저장하기 위해 1GB의 Heap 필요 • 보조 네임노드(Secondary NameNode) > 백업은 용도는 아님 > 네임노드 이미지를 관리, 일종의 Check Pointer Server HDFS Daemon Daemon 클러스터당 개수 용도 네임노드 1 파일시스템의 메타데이터 저장, 파일시스템의 글로벌 이미지 제공 보조 네임노드 1 네임노드 트랜잭션 로그의 체크포인트 작업수행 데이터노드 다수 블록 데이터 저장(파일내용)
  • 14. 14 9/27/2013 HDFS 동작방식(Read) Name Node Secondly Name Node Data Node Data Node Data Node Data Node Data Node rack1 rack2 HDFS Application Hadoop Client 1. 파일경로: /foo/bar/test.txt 요청 2. 블록1, 호스트… 응답 Host1 Host2 Host3 3. 블록1 읽기 요청 4. 데이터 응답
  • 15. 15 9/27/2013 HDFS 동작방식(Write) Name Node Secondly Name Node Data Node Data Node Data Node Data Node Data Node rack1 rack2 HDFS Application Hadoop Client 1. 파일 생성을 위한 파일경로 생성 요청 - 파일경로: /foo/bar - 복제본수: 3 Memory 2.1 파일 경로 정보 생성(메모리에 생성) 2.2 락 생성(다른 클라이언트가 생성하지 못하게) Host1 Host2 3.1파일 데이터를 저장할 데이터 노드 선택 후 호스트 정보 반환 (Host1, Host2, Host3) 4. 파일 데이터 및 데이터 노드 목록 전송 Host3 5.1 로컬저장 5.2복제본 저장 5.3복제본 저장 edits 5.4 저장완료 (close()명령) 6. 메모리의 내용을 edits 파일에 기록(네임스페이스 등록) 정해진 블록크기를 넘어서면 클라이언트는 네임 노드로 새로운 데이터 노드 요청 fsimage 주기적으로 다운로드 후 edits와 fsimage 병합 fsimage 파일을 Name Node로 전송
  • 16. 16 9/27/2013 HDFS 동작방식(메타데이터) Name Node Secondly Name Node 1. edit 파일 회전(보관, edits.new 생성) 2. fsimage와 edits 파일 복사 4. 새로운 fsimage 파일 전송 Disk 3. 두 파일을 읽어서 edits 를 반영, 새로운 fsimage 파일 생성5. edits.new 파일명을 edits로 변경 Disk • 매시간(기본값) 또는 네임노드 edits 파일의 크기가 64MB가 되면 발생 • 최근 하둡버전은 트랜잭션 개수 기준으로 체크 포인트를 수행
  • 17. 17 9/27/2013 NFS • Hadoop NameNode는 SPOF • 따라서 HA 구조로 만들어야 함 • HA 기본 기능은 Hadoop 1.x 버전 이하에서는 존재하지 않음 > Hadoop 2.0(YARN)의 가장 인기있는 기능 • NFS, Zookeeper 등을 이용하여 HA 구현 Hadoop HA(NameNode) Zookeeper Quorum 복구 컨트롤러 복구 컨트롤러 네임노드(Ac tive) 네임노드(St andby) 메타데이 터 공유 메타데이 터 메타데이 터 * 그 밖의 페더레이션 구조가 있음
  • 18. 18 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 19. 19 9/27/2013 • MapReduce Framework 사상 > Logic on Data; Data Locality 반영 • MapReduce: Simplified Data Processing on Large Clusters • 개발 단순성 > 한 번에 하나의 레코드만을 다루는 데이처 처리 프로그램만 작성하면 됨 > 하지만, Functionality Programming 개념을 숙지; KEY-VALUE – 사실, Java MapReduce 는 변종 > Filtering, Projection, Grouping, Aggregation 등을 구현 • 확장성 > 태스크들은 서로 통신하거나, 상태를 공유하지 않고 분산된 머신에서 병렬 수행 • 내고장성 > 실패는 예외가 아니라 항상 일어나는 일 > 클러스터의 워커 노드에서 태스크가 실패하면 다시 시도 MapReduce 의 Features
  • 20. 20 9/27/2013 • (1) Job summit  (2) Map Task  (3) Shuffling& Sort  (4) Reduce Task MapReduce 4단계 처리
  • 21. 21 9/27/2013 • Job Tracker > 1개임 > Client와 Task Tracker와 RPC 통신 수행 > Task Tracker는 Heartbeat으로 상태과 정보를 보내 줌 > Job Configuration 책임 • Task Tracker > 사용자 코드를 수행하는 데몬 > Job Tracker에게 주기적으로 진행과정 보고 > Job Tracker로부터 할당 받으면 새로운 프로세스 만들어 Task Attempt함 – Task vs. Task Attempt MapReduce Daemon
  • 22. 22 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 23. 23 9/27/2013 1. 하둡 배포판 버전 선택 2. 하드웨어 선택 3. 운영체제 선태과 준비 사항 4. 커널 튜닝 5. 네트워크 설계 Cluster Planning
  • 24. 24 9/27/2013 • Apache Hadoop vs. Packaging Hadoop > Apache Hadoop > Hortonworks > Cloudera 하둡 패포판과 버전 선택
  • 25. 25 9/27/2013 • 20대 미만 클러스터(소형 클러스터) 마스터 하드웨어 저비용 투자 > CPU: 2.6GH, 쿼드코어 CPU 2개 > MEM: DDR3 RAM 24GB > NT: 1GB NIC 2개 > Controller: SAS 드라이버 Controller, SAS II(OS 디바이스 JBOD) > Disk Storage: 최소 1TB 이상 • 300대 미만 > Memory만 24GB 혹은 48GB • 대형 Cluster > Memory 96GB 하드웨어 선택 구분 대상 고려사항 마스터 하드웨어 선택 네임노드 • 독립머신, 메타데이터를 메모리에 저장 • CPU보다 메모리 위주 보조 네임노드 • 네임노드와 같음, 동일한 메모리, 디스크 용량 필요 잡 트래커 • 많은 메모리를 사용, 네임노드와 같은 Spec
  • 26. 26 9/27/2013 하드웨어 선택 구분 대상 고려사항 워커 하드웨어 선택 데이터 노드 • 저장과 계산 두 역할 모두 함 • 따라서 CPU, Disk Storage 고려 • 복제 계수, X 3 • MapReduce 임시 저장, 20~30% 추가 저장 • 메모리 보다, Disk 위주 • 연산을 위한 CPU 선택 태스크 트래커 중급(많은 메모리, 많은 디스크, 1GB 이더넷) 고급(대용량 메모리, 초고속 디스크, 10GB 이더넷) • CPU: 2.9GHz, 15MB 캐시 6코어 CPU 2개 • 메모리: DDR3-1600 ECC 64GB • 디스크 컨트롤러: SAS 6GB/S 1개 • 디스크: 3TB LFF SATA II 7200 RPM HDD 12개 • 네트워크: 1GB 이더넷 2개 • 비고: 인텔 하이퍼 쓰레딩 QPI 기능 권장 • 3 또는 4 채널 메모리 설정 • CPU: 2.9GHz, 15MB 캐시 6코어 CPU 2개 • 메모리: DDR3-1600 ECC 96GB • 디스크 컨트롤러: SAS 6GB/S 2개 • 디스크: 3TB LFF SATA II 7200 RPM HDD 24개 • 네트워크: 10GB 이더넷 1개 • 비고: 인텔 하이퍼 쓰레딩 QPI 기능 권장 • 3 또는 4 채널 메모리 설정
  • 27. 27 9/27/2013 • Scale up 대신 Scale out • 가상화를 일반적으로 사용하지 않는다. > 베어메탈 등의 하이퍼바이저는 I/O 성능에 영향을 줌 하드웨어 선택: 클러스터 규모 결정 일일 수집 용량 1TB 복제 인수 3(블록 사본 수) 일일 실제 용량 3TB 일일수집 용량 X 복제인수 노드 저장 요량 24TB 2TB SATA II HDD 12개 맵리듀스 임시 데이터 용량 25% 맵리듀스 임시 데이터 노드 가용 저장소 용량 18TB 노드저장용량 – 맵리듀스 임시 데이터 용량 1년 61 노드 일일수집용량 X 복제인수 X 365 / 노드 가용 저장소 용량 1년(매월 5% 증가) 81 노드 1년(매월 10% 증가) 109 노드
  • 28. 28 9/27/2013 • RedHat, CentOS, Ubuntu, SuSE 등 리눅스 운영체제 최적화 • Puppet, Chef 등의 설정관리 시스템 필요(오픈소스) • 소프트웨어 > Oracle Java 1.6 이상 – Hadoop RPM 사용하려면, Oracle Java도 RPM 버전으로 설치 > Cron Daemon > ntp > SSH > SNTP > rsync • Hostname, DNS 인식 > /etc/hostname, /etc/hosts, java dns 운영체제 선택과 준비사항
  • 29. 29 9/27/2013 데몬 위치 설정 매개변수 소유자:그룹 권한 NameNode /data/1/dfs/nn, /data/2/dfs/nn, /data/3/dfs/nn dfs.name.dir hdfs:hadoop 0700 Secondary Name Node /data/1/dfs/snn fs.checkpoint.dir hdfs:hadoop 0700 DataNode /data/1/dfs/dn, /data/2/dfs/dn, /data/3/dfs/dn dfs.datanode.dir hdfs:hadoop 0700 Task Tracker /data/1/mapred/local, /data/2/mapred/local, /data/3/mapred/local, mapred.local.dir mapred:hadoop 0700 Job Tracker /data/1/mapred/local mapred.local.dir mapred:hadoop 0700 전체 /var/log/hadoop /tmp/hadoopuser.name $HADOOP_LOG_DIR hadoop.tmp.dir root:hadoop root:root 0775 1777 Directory Layout
  • 30. 30 9/27/2013 • 커널 매개변수 /etc/sysctl.conf 설정 > 반드시 재시작해야 반영 • vm.swappiness > 데이터와 메모리간의 SWAP > 0~100, 수치가 높을수록 데이터를 더 많이 스왑 > 대략 60~80이면 적당 • Vm.overcommit_memory > malloc() 함수 호출하여 메모리 할당 옵션 > 0: 메모리가 충분하면 애플리케이션 메모리 할당 > 1: 물리 메모리 초과할 때 vm.overcommit_ratio 기준으로 스왑후 할당 – ratio 50이고, 물리 메모리 1GB이면 커널 스왑 포함해서 1.5GB > 2: 커널은 애플리케이션 메모리 할당 요청을 무조거 수용 – 절대 권고하지 않음 커널 튜닝
  • 31. 31 9/27/2013 • 리눅스의 LVM 사용 금지 > /dev/sd* 아닌 /dev/vg* 이면 잘 못된 설정 • 대부분 운영체제 파일시스템 따라 감 > ext3, ext4, xfs • 항상 마운트 옵션에 추가해야 함 디스크 설정
  • 32. 32 9/27/2013 • 꼭 네트워크 엔지니어와 함께 설계해야 함 • 고립된 네트워크가 최적 • 1,152 지원 장비 > Cisco Nexus 7000 > 스파인 패브릭 스위치 2개 네트워크 설계 48x10GbE 48x10GbE 4 x 10GbE 48x10GbE 4 x 10GbE 48x10GbE 4 x 10GbE Host Host Host
  • 33. 33 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 34. 34 9/27/2013 • Apache Hadoop > Tarball 경우 압축해제로 끝 > 전문적 관리를 위해 디렉터리 위치 조정 가능 • Cloudera, Hortonworks > Installation Manager가 존재 > Cloudera Manager > Hortonworks Management Center 하둡 배포판에 따라서
  • 35. 35 9/27/2013 • 버전 관리가 용이 • 디렉토리 위치 일관성 > /etc/hadoop – conf 디렉터리(뒤장에 설명) > /etc/rc.d/init.d – 데몬 형식의 시작/종료/재식 스크립트 > /usr/bin – hadoop 실행파일과 태스크 컨트롤러 바이너리 파일 > /usr/include/hadoop – 하둡 파이프를 위한 C++ 헤더 파일 > /usr/lib – 하둡 C 라이브러리 > /usr/libexec > /usr/sbin/ > /usr/share/doc/hadoop RPM 패키지 사용했을 경우
  • 36. 36 9/27/2013 • hadoop-env.sh • core-site.xml • hdfs-site.xml • mapred-site.xml • log4j.properties • masters • slaves • fair-scheduler.xml • capacity-scheduler.xml • dfs.include • dfs.exclude • hadoop-policy.xml • mapred-queue-acls.xml • taskCtrller.cfg Hadoop conf 디렉터리 아래 파일 Configuration Framework 핵심 <configuration> <property> <name></name> <value></value> <finale></final> </property> <configuration>
  • 38. 38 9/27/2013 name value 설명 fs.default.name(core-site.xml) hdfs://centos1:9000 파일시스템의 URL 지정 dfs.name.dir /data/1/dfs/nn 네임노드 메타데이터 저장소 dfs.data.dir /data/1/dfs/dn 데이터 노드 블록 저장소 fs.checkpoint.dir /data/1/dfs/snn 체코포인트 메타데이터 저장소 dfs.permission.supergroup hadoop 슈퍼유저그룹으로 모든 HDFS 조작수행 io.file.buffer.size(core-site.xml) 65536 IO버퍼 크기 클수록 네트워크 전송효율 높아짐 하지만, 메모리 소비와 지연시간도 늘어남 dfs.balance.bandwidthPerSec 분산된 블록의 균형을 맞추기 위한 도구 dfs.block.size 134217728 새로운 파일이 생성시 필요한 블록 크기 fs.trash.interval (core-site.xml) 1440(24시간) 휴지통 기능 HDFS Configurations(hdfs-site.xml) • dfs.datanode.du.reserved, • dfs.namenode.handler.count, • dfs.datanode.failed.volumes.tolerated • dfs.hosts • dfs.host.exclude
  • 39. 39 9/27/2013 MapReduce Configurations(mapred-site.xml) name value 설명 mapred.job.tracker hdfs://centos1:9000 Job Tracker URL scheme mapred.local.dir /data/1/mapred/local 로컬 디스크에 임시 출력을 저장 mapred.java.child.opts -Xmx2g JVM 메모리 사용 공간에 mapred.child.ulimit 1572864 태스크의 가상 메모리 용량을 제한 mapred.tasktracker.map.tasks.maximu m 16 각 머신이 동시에 실행할 수 있는 태스크 수는 mapred.tasktracker.reduce.tasks. maximum 8 각 머신이 동시에 실행할 수 있는 태스크 수는 mapred.compress.map.output org.apache.io.compress.SnappyCodec 뱀 태스크의 출력을 디스크에 저장할 때 기본 설정 mapred.output.compression.type BLOCK maprecl.output.compression. type 에 지정된 압축 방식 • mapred.jobtracker.taskScheduler • mapred.reduce.parallel.copies • mapred.reduce.tasks • tasktracker.http.threads • mapred.reduce.slowstart.completed.maps
  • 40. 40 9/27/2013 • HDFS 블록 사본은 서로 다른 머신에 저장 > 하지만, 위치 정보가 없다면 하나의 랙에 모두 저장 가능성이 있음 > 랙 전체가 실패할 경우 가용성 문제 발생 • 첫 번째 복제 저장소는 임의로 결정 • 두 번째, 세 번째 복제 저장소는 다른 랙의 두 머신 저장 > 3개의 랙에 저장하지 않는 이유는 머신의 실패보다 랙의 실패가 적다. > 두 번째, 세 번째 동일 랙 내의 머신에 배치하면 데이터 교환 손 쉬움 – 랙 스위치만 거치게 되니까. • 스크립트로 작성하여 Configuration 설정 Rack Topology
  • 41. 41 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 42. 42 9/27/2013 • 대개 Kerberos 사용 > 주체, 인스터스 영역의 세 가지 컴포넌트 > Kerberos 자체만으로 학습해야 하며, Learning Curve 상당히 큼 > 따라서, 시스템 관리자/운영자와 함께 > 오히려 하둡은 core-site.xml/mapred-site.xml 설정파일만 수정하면 끝 식별, 인증, 허가 name value hadoop.security.authentication Kerberos hadoop.securitY.authorization true dfs.namenode.keytab.file dfs.datanode.keytab.file /etc/hadoop/conf/hdfs.keytab dfs.block.access.token dfs.namenode.kerberos.principal dfs.namenode.kerberos.https.principal dfs.datanode.kerberos.principal dfs.datanode.kerberos.https.principal host/ _HOST@MYREALM.MYCOMPANY.COM dfs.https.address dfs.datanode.http.address 0.0.0.0 0.0.0.0:1006 dfs.https.port 50470 dfs.datanode.address 0.0.0.0:1004 dfs.datanode.data.dir.perm 0700
  • 43. 43 9/27/2013 • 다른 에코시스템과 권한/인증/허가 설정을 해야 함 • 안전하거나 아니거나! > 데이터는 소중하다. 따라서 일반적인 데이터 센터 내에서도 TOP Level 위치 > 기업 내 SOC(Security Official Center) 운영 – 섬! 인터넷, 휴대폰도 운용되지 않음 – 따라서 개발 Cluster와 구분되어야 함 – Hadoop Client 연결되는 노드가 필수로 필요함 • 아니면, 완벽한 보안 가이드 준수 > 하지만, 보안 레벨이 높을수록 성능은 저하 됨 > 데이터 암호화 – 디코딩 레벨을 하둡에서 할 것인가? 아니면 외부 서버에서 할 것인가? – 대게 하둡에서는 하지 않음  디코딩 자체가 극심한 IO 문제를 발생함 Hadoop Security Planning
  • 44. 44 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 45. 45 9/27/2013 • 디렉터리 트리 구조 활용으로 사용자들에세 쿼터 부여 # hadoop dfsadmin –setSpaceQuota 10737418240 /user/joel # hadoop fs –count –q /user/joel HDFS 쿼터 / --data/ ----user-activity/ ----syslog/ ----purchase/ # 쿼터 제한 없음 --group/ ----ps/ #쿼터 100TB --users/ #사용자 쿼터 1TB ----joel/ ----ryan/ ----simon/
  • 46. 46 9/27/2013 MapReduce Scheduler • FIFO 스케줄러 > 먼저 오면 먼저 처리 > 독점 문제 발생 > 우선순위 지원 – 매우 낮음 < 낮음 < 보통 < 높음 < 매우 높음 > 소형, 실험용, 개발 클러스터에만 적용 • Fair 스케줄러 > 큐에 제출된 잡은 풀 중 하나에 배치 > 클러스터의 총 슬롯 용량 > 다른 풀의 현재 요청, 최소 보장 슬롯, 기용 슬롯 용량 등으로 태스크 슬롯 수 결정 • Capacity 스케줄러 > 총 클러스터 슬롯 수를 가진 다수의 큐를 설정 > 큐에 요청이 있을 때만 예약
  • 47. 47 9/27/2013 Fair 스케줄러 알고리즘 설명 풀 요청 최소분 배 실제분 배 조엘 20 0 20 라이언 40 0 40 총 슬롯 용량: 80 풀 요청 최소분 배 실제분 배 조엘 20 0 20 라이언 40 0 30 싸이먼 120 0 30 총 슬롯 용량: 80 풀 요청 최소분 배 실제분 배 조엘 40 0 25 라이언 30 0 25 싸이먼 30 50 30 총 슬롯 용량: 80 풀 요청 최소분 배 실제분 배 조엘 40 0 15 라이언 30 0 15 싸이먼 60 50 50 총 슬롯 용량: 80 풀 요청 가중치 실제분 배 조엘 80 1 26 라이언 60 2 53 총 슬롯 용량: 80
  • 49. 49 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 50. 50 9/27/2013 • 하둡의 모든 데몬은 Java 데몬 • 실행 계정이 일반 계정으로 실행 했다면 > # jps • 실행 계정이 서비스형태 즉, root 실행 했다면 > # ps –elf | grep java > # ps –elf | grep –i namenode … • 하둡은 프로세스 실행 > # start-all.sh // 네임노드, 데이터 노드, 잡 트래커, 태스트 트래커 실행 > # stop-all.sh // 네임노드, 데이터 노드, 잡 트래커, 태스트 트래커 정지 > # start-dfs.sh // 네임노드, 데이터 노드 실행 > # stop-dfs.sh // 네임노드, 데이터 노드 정지 > # start-mapred.sh // 잡 트래커, 태스트 트래커 실행 > # stop-mapred.sh // 잡 트래커, 태스트 트래커 정지 > # hadoop-daemon.sh // 하둡 노드 개별적 실행 Hadoop Process 관리
  • 51. 51 9/27/2013 • 데모 Cluster Commissioned, Decommissioned
  • 52. 52 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 53. 53 9/27/2013 • 성능 모니터링 > JVM, dfs, mapred > Job status, Failed Job, Task 개수 • 상태 모니터링 > CPU, Memory, Disk, Network Traffic > Hadoop Daemon, Hadoop Log • 상용 툴을 이용하는 방법 > 상당히 고가 • 일반적인 오픈소스 활용 > Ganglia + Nagios + Ambari(Hadoop Ecosystem) Monitoring
  • 54. 54 9/27/2013 • 데이터 백업 > 분산 복제(distcp) > 병렬 데이터 수집시 바로 데이터 이중화 – Apache Flume 이용하여 HDFS 싱크로 통해 Direct 저장 • 메타 데이터 백업 > 내장 웹서버 /getimage 서블릿 호출 > getimage=1, fsimage 추출 # curl –o fsimage.201309 ‘http://centos1:50070/getimage?getimage=1’ > getedit=1, edits 추출 # curl –o fsimage.201309 ‘http://centos1:50070/getimage?getedits=1’ Backup and Recovery Hadoop Cluster 1 Hadoop Cluster 2 Flume sink Data source 동시 저장
  • 55. 55 9/27/2013 • 기본 사용 방법 # hadoop distcp hdfs://centos1:50030/path/one hdfs://remote:50030/path/two > -m: 매퍼수 제어 > -overwrite: 기존파일 덮어쓰기 > -update: 변경된 부분만 복사 > -delete: 원본에는 없고 목적지에 있는 파일 삭제 • 기본 동종 클러스터 > hdfs:// • 이기종 클러스터 > webhdfs:// > httpfs:// • Amazon S3 지원 > s3:// 분산복제 Distcp
  • 56. 56 9/27/2013 1. Hadoop Introduction 2. Hadoop Distributed File System 3. Hadoop MapReduce 4. Hadoop Cluster Planning 5. Hadoop Installation and Configuration 6. Hadoop Security 7. Hadoop Resource Management 8. Hadoop Cluster Management 9. Hadoop Monitoring, Backup and Recovery 10. Hadoop NG; Glance at YARN CONTENTS
  • 57. 57 9/27/2013 Hadoop 2.0 Aster 6.0 Key Cap. - Graph - BSP - ADFS
  • 58. 58 9/27/2013 YARN • Resource Manager > Job Tracker의 자원 관리 > 클러스터 모니터링 • Node Manager > Task Tracker 역할 – Map과 Reduce 관리 > 실질적 MapReduce 수행 • Application Master > 단일 Job Tracker가 아님

Notas del editor

  1. Velocity: Batch, Near Real-time, Real-time, StreamVolume: Terabytes, Records, Transaction, Table, fileVariety: 정형, 반정형, 비정형모든 데이터Complex: IT 융합
  2. 맵과 리듀스는 LISP 코드에서 유래,FunctionalityProgramming의 프로그래밍 모델,Map과 Reduce그래서 어떤 언어로도 가능하지만,Functional Language에 적합자바는 변종Map + Reduce 구글 GFS 발표 이후 논문에서 공개 더그 커팅이 자바로 개발
  3. 개인적으로 최악의 이름이지 않았나 싶다. 네임노드가 죽어도 보조 네임노드 때문에 클러스터가 동작으로 수행한다고 믿고 있다.
  4. 하둡 0.15부터 소스 분석, 초기버전에서 HDFS하둡 0.19버전 MapReduce 버전 분석하지만, 버전별로 너무 힘들었다.
  5. fsimage와 edits 파일이 매우 중요,fsimage는 파일시스템의 메타데이터 스냅샷이고,edits 메타데이터의 누적된 변경 내용edits 파일은 WAL로 지속적인 파일 추가조작을 하므로 I/O 작업의 부하도 적고, 성능저해하는 탐색도 조작 가능, 하지만 시간이 지날수록 커지게 되므로 fsimage에 반영이런 일을 하기에는 클라이언트의 클러스터 요청 처리도 해야 함. 따라서 보조 네임노드가 필요하게 됨.1 보조 네임노드는 네임노드에게 edits 파일을 보관하고 edits.new 파일에 로그를 쓰라고 지시한다.2 보조 네임노드는 네임노드의 fsimage와 edits 파일을 로걸 처|크포인트 checkpoint 디렉터리로 복사한다.3 보조 네임노드는 fsimage를 로드하고 edits를 위에서부터 반영하여 새로운 파일을 만든 후 fsimage를 디스크에 저장한다.4 보조 네임노드는 새 fsimage를 네임노드에 보내고 그것을 바로 적용하도록 지시한다.5 네임노드는 edits.new 파일의 이름을 edits로 변경한다
  6. 리눅스 HA는 사용하지 않는 이유는 리눅스-HA는 정적 컨텐츠를 제공하는 무상태 서비스에 적합하고네임노드는 같은 상태-기반 시스템에는 맞지 않다. 또한 가상 IP사용하기 때문에 리눅스 HA 적합하지 않음
  7. 프로세스를 시작하거나 fork () 함수를 호출하면 전체 페이지 테이블이 복제된다. 다른 말로하면,자식 프로세스는 부모 프로세스 메모리의 완전한 사본을 저장하므로 메모리가 두 배 필요하다. 또한자식 프로세스가 exec() 힘수를통해 부모 메모리를 복사히는 시간도 낭비된다. 그런데 fork ()의 호출이 너무 빈번하여 부모 메모리를 복사하지 않는 vfork () 힘수가 탄생하게 되었다. 다른 말로 하면,자식 프로세스가 직접 exec() 함수를 호출할 때까지 메모리를 복사하지 않는다. 침고로 HotSpot ]VM은 vfork () 함수가 아닌 fork ()로 자바의 fork 조작을 구현했으므로 문제가 있다.이것이 왜 히둡에 문제가 될까? 하둡 스트리밍 (다른 프로그래밍 언어에서 기본 입력과 출력으로 랩리듀스 잡을 실행하도록 지원하는 라이브러리)은 사용자 코드를 시작할 때자식 프로세 스를 생성시키고 파이프라인을 경유해 데이터를 주고받는다. 따라서 자식 태스크를 위해 추가 메모리가 펼요하다. 또한 프로세스가 시작될 때 시간도 낭비되지만, 우리가 예상히는 대로 메모리도 두 배 시용한다. 이런 이유로 vm. overcommlt_memroy를 1 로 설정해야하며, 이와관련된 vm.overcommit_ratio도정확히 설정해야한다.
  8. 48x 12 =576
  9. • hadoop-env.sh하둡 스크립트는 본bourne셀로 작성되며, 이 파일은 하둡에 필요한 JDK. JDK 데몬의 옵션.P ID 파일, 로그파일의 디렉터리 등 환경 변수들을 지정효떼 이 변수들은 1 20페이지 ‘환경 변수와 셀 스크립트’에서 설영효tcf .• core-site.xml모든 하둡 데몬과클라이언트에 관련된 따라미터를 지정한 XML 파일이다• hdfs-site.xmlHDFS 데몬과클라이언트에 필요한 파라미터를 지정한 XML 파일이다• mapred -site.xml업리듀스 데몬들과클라이언트에 필요한 따라미터를 지정한 XML 파일이다 .• log4j.properties모든로그 설정 정보를 포함한 지바 속성 파일이다 이 속성들은 1 23페이지 ‘로그 설정’에서 설명효H각 .• masters (옵선)보조 네임노드가 실행되는 머신들의 목록으로 한 줄에 하나씩 등록된다. 이 파일은 start-*.sh형식의 보조스크립트에서사용효봐• slaves (옵션)데이터노드l태스크트래커 ~fQ l 실행되는 머신틀의 목록으로 한 줄에 하나씩 등록효κt이 파일은 staη- *.sh형식의 보조 스크립트에서 사용효떼 .• fair-scheduler.xml (옵션)업리듀스의 태스크 스케줄러 플러그인 중 페어 스케줄러Fair Scheduler으| 자원 풀과 설정을 정의한 파일이다• capacity-scheduler.xml (옵션)업리듀스의 태스크 스케줄러 플러그인 중 케떠시티 스케줄러Capacity Scheduler의 큐와 설정을 정의한 파일이다• dfs.include (옵션, 관용명)네임노드 접속을 허용할 머신들의 목록으로 한 줄에 하나씩 등록흔tcf .• dfs.exclude(옵선, 관용명 )네임노드 접속을 허용하지 않을 머신들의 목록으로 한줄어| 하나씩 등록한다 .• hadoop-policy.xml하둡과 통신할 때 특정 RPC 할수의 호출을 허용할 계정 또는 그룹을 지정한 XML 따일이다• mapred-queue - acls.xml업리듀스 잡 큐에 잡의 저|출이 허용된 계정 또는 그룹을 지정한 XML 파일이다• taskCtrller.cfg보안 모드로 실행할 때 업리듀스 보조 프로그램인 setuid태스크 컨트롤러에 필요한 값을 지정한 자바 속성형식의파일이다.
  10. CPU 코어 개수가 12이면 x 1.5를 수행  18개2/3는 맵태스트,1/3은 리듀스태스크