SlideShare a Scribd company logo
하둡 완벽 가이드
10.하둡 관리
choong
네임노드 디렉터리 구조
네임노드 - VERSION
• layoutVersion : 음의 정수로 정의
• namespaceID : 파일시스템 식별자, 데이터 노드 식별
• cTime : 네임노드 저장소 생성시간 표시
• storageType : 네임노드에 데이터 구조 표시
TUE Mar 10 19:21:36 GMT 2009
namespaceID=134368441
cTime=0
storageType=NAME_NODE
layoutVersion=-18
에디트 로그
• 클라이언트가 쓰기 동작할 때 마다 에디트로그
에 기록.
• 네임노드는 FS메타데이터를 메모리에 올려서 인
메모리 자료구조로 관리, 에디트로그가 수정된
후에 업데이트.
• 인메모리 데이터는 읽기 요청을 수행하는데 사
용
• edits 파일 크기의 제한은 없음.
fsimage
• 파일시스템 메타데이터 영속적인 체크포
인트 파일.
• 개별 쓰기 동작 때마다 갱신 되지 않음.
• 파일시스템에 존재하는 모든 디렉토리와
파일 inode 정보를 바이트로 직렬화.
• inode
• 파일, 파일의 복제단위, 변경및 접근 시간, 접
근권한 블록의 크기
edits 파일 크다면
• 네임노드가 구동중일때 영향없음.
• 네임노드가 재시작하는 경우 에디트로그
의 개별 동작을 메모리에 반영 하기 위해
상당한 시간이 소요.
• 해결책 : 보조 네임노드를 구동.
• 보조 네임노드의 용도는 주 네임노드의 인
메모리 메타데이터에 체크포인트를 생성.
체크포인팅 절차
보조 네임노드 디렉터리 구조
•네임노드가 시작할때 importCheckpint 옵션을 사용하면
보조네임노드가 주네임노드로
데이터노드 디렉터리 구조
• 디렉터리 내 블록 수는 64개(dfs.datanode.numblocks)
• dfs.data.dir은 여러 디렉터리 지정가능, 블록은 라운드 로빈
방식으로 각 디렉터리에 쓰여짐.
안전모드
1. 네임노드는 시작직후 fsimage를 메모리에 적제하고
edits로그의 변경사항을 반영
2. 완전한 메타데이타가 재구성되면 새로운 fsimage와
빈 edit 로그를 생성.
3. 안전모드 실행 시 읽기 전용의 RPC와 HTTP 요청이
수락된다.
4. 데이터 노드들로부터 블락정보를 넘겨받는다.
5. 최소 복제 상태가 되면 30초후 안전모드가 해제된다.
안전모드 속성
속성명 타입 기본값 설명
dfs.replication.min 정수 1 쓰기 작업이 성공하기 위해서
쓰여져야 하는 최소 복제본수
dfs.safemode.threshold.pct 실수 0.999 최소 복제 수준을 충족하는 시
스템내의 블록의 비율.
이 값을 0이하나 그 이하로 설
정하면 네임노드는 안전모드
없이 시작.
dfs.safemode.extension 정수 30,000 최소 복제본수가 만족하고 나
서 안전모드 상태 유지 시간
(ms 단위)
안전모드 진입과 해제
• 안전모드인지 확인하기
% hadoop dfsadmin –safemode get
• 특정 명령이 실행 되기 전 안전모드가 빠져 나오
기를 기다리게 하기
% hadoop dfsadmin –safemode wait
• 안전모드 진입
% hadoop dfsadmin –safemode enter
• 안전모드 빠져 나오기
% hadoop dfsadmin –safemode leave
감사 로깅
• HDFS는 모든 파일시스템 접근 요청을 기
록.
• 감사 로깅은 log4j를 이용.
• 기본값은 WARN
• http://wiki.apache.org/hadoop/HowToConfigure
dfsadmin
• HDFS 상태 정보를 조회 및 다양한 관리 동작
을 수행하는 다목적 도구.
• Superuser 권한이 필요.
• 명령어
-help, -report, -metasave, -safemode,
-saveNamespace, -refreshNodes,
-upgradeProgress, -finalzeUpgrade,
-setQuota, -clrQuota, -setSpaceQuota,
-clrSpaceQuota, -refreshServiceAlc
fsck
• HDFS내에 있는 파일 상태 점검을 위한 유틸리티
제공.
• 데이터노드를 점검하여 사라지거나, 적게 또는
많이 복제된 블록을 찾아줌.
• 파일을 점검하기 위해서 파일 블록의 메타데이
터를 조회하고 문제점이나 불일치 한 것을 찾는
다.
fsck – 체크 상태
• 과잉 복제된 블록
• 부족하게 복제된 블록
• 잘못 복제된 블록
• 오염된 블록
• 없어진 복제본
데이터노드 블록 스캐너
• 모든 데이터노드는 블록 스캐너를 실행 하며 저
장된 블록을 주기적으로 점검
• 문제있는 블록은 클라이언트가 읽기 전에 삭제
하거나 수정.
• 3주마다 주기적으로 점검
• dfs.datanode.scan.preiod.hours
• 기본값은 504시간.
• http://datanode:50075/blockScannerRepo
rt
데이터노드 블록 스캐너
• http://datanode:50075/blockScannerReport?
listblock
• 최근의 점검 상태
• blk_2880642477235589345_1712 : status : ok type :
local scan time : 1328684200718 2012-02-08 01:56:40,718
blk_-8383560827245098225_1470 : status : ok type :
remote scan time : 1328736508026 2012-02-08
16:28:28,026
blk_-1634356630613489001_3191 : status : ok type :
none scan time : 0 not yet verified
밸런서
• 블록을 재분배해주는 하둡 데몬.
• 자주 사용되는 블록을 덜 사용되는 데이터노드의 블
록으로 옮겨줌.
• 균형 상태가 될 때 까지 실행
• 각각의 데이터노드 이용률과 클러스터의 이용률과 비교하
여 주어진 임계치 이내
• -threshold 인자로 임계치 지정, 지정 하지 않으면 10%
• 클러스터는 오직 하나의 밸런서만 실행
• dfs.balance.bandwidthPerSec
• 기본은 초당 1MB
모니터링
• 기대 수준 이하의 서비스를 제공하는 클러스터
를 발견하는 것.
• 주 네임노드, 보조 네임노드, 잡트래커와 같은 데
몬을 관찰.
로깅
• 문제를 파악하기 위한 로그 수준의 레벨을 일시
적으로 변경 가능.
• % hadoop daemonlog -setlevel jobtracker-host:50050
org.apache.hadoop.mared.JobTracker DEBUG
• 잡트래커 재시작 시 로그레벨 변경
• 로그 레벨을 영속적인 변화를 주고 싶을때
• conf 디렉터리의 log4j.properties
• 스택 트레이스 제공
• 웹UI/stacks
• http://jobtracker-host:5003/stacks
매트릭스
• 매트릭스로 알려진 이벤트와 측정치를 수집
• 매트릭스는 context에 속하고, 하둡은 현재 ‘dfs’,
‘mapred’, ‘rpc‘, ‘jvm’을 사용.
• context 내의 매트릭스를 수집.
• conf/hadoopmetrics.properties 파일에서 설정.
• 기본적으로 모든 context는 게시되지 않도록 설
정. (NullContext)
Context 종류
• FileContext
• 디버깅 용도로 적합
• 대규모 클러스터 환경(X)
• GangliaContext
• 규모가 큰 클러스터를 위한 오픈 소스 분산 모니터링 시스
템
• http://ganglia.info
• NullContextWithUpdateThread
• JMX류를 위해 구현. GraniaContext도 이와 같은 동작이 진
행됨. 메트릭스가 기본 5초 주기로 갱신
• CompositeContext
• Context들을 여러개 같이 사용할 때 사용
자바 관리 익스텐션(JMX)
• JMX는 모니터링과 관리를 위한 표준 JAVA API
• NullContextWithUpdateThread 를 사용하면
JConsole로 JVM에 접속해 MBean의 최신 상태
값들을 확인
• 일반적으로 Nagios와 갱글리아를 연계해서 하둡
클러스터를 모니터링
• Nagios는 JMX를 접속할 수 있도록 권한,과 원격
접속 활성화등의 설정
하둡 Mbean
MBean class 데몬 매트릭스
NameNodeActivityMBean 네임노드 네임노드 동작 매트릭스
예: 파일 생성 횟숫
FSNameSystemMBean 네임노드 네임노드 상태 매트릭스
예: 연결된 데이터노드 수
DataNodeActivityMBean 데이터노드 데이터노드 동작 매트릭스
예: 읽은 바이트수
FSDataSetMBean 데이터노드 Datanode storage metrics
such as capacity and free
storage space
RpcActivityMBean RPC를 사용하는
모든 데몬 (네임노
드, 데이터노드,
잡트래커, 태스크
트래커)
RPC 통계
예: 평균처리시간
일상적인 관리 절차
• 메타데이터 백업
• 보조 네임노드의 이전 체크포인트 하위 디렉토리를
스크립트로 원격지에 주기적으로 저장.
• 데이터 백업
• 데이터 우선 순위를 정하여 백업
• 백업한다고 100% 안전한 것은 아니다.
• 파일시스템 점검
• 파일시스템 밸런서
노드 위임과 해제
• 클러스터에 가용한 저장공간을 늘리기 위해서
노드 위임.
• 클러스터를 줄이고 싶을 때 노드를 해제.
• 노드는 보통 데이터노드와 태스크트래커가 모두
구동.
• 네임노드에 연결이 허용되는 데이터노드는
dfs.hosts 파일에 기재.
• 잡트래커에 연결하는 태스크트래커는
mapred.hosts 파일에 기재.
새로운 노드 위임하기
1. 인클루드 파일에 새 노드의 네트워크 주소를 추가
2. 아래 명령어를 이용해 네임노드에 허가된 데이터
노드 집합 반영
% hadoop dfsadmin -refreshNodes
3. 새 노드가 하둡 제어 스크립트에 의해 클러스터에
서 사용될 수 있게 slaves 파일 갱신
4. 새 데이터노드 시작
5. 맵리듀스 클러스터를 재시작
(mapred.jobtracker.restart.recover=true 로 설정하
면 재시작시 실행되던 잡들이 복구됨)
6. 새로운 새로운 데이터노드와 태스크트래커가 웹 UI
에 나타나는지 확인
오래된 노드 해제
1. 해제할 노드의 네트워크 주소를 exclude 파일에 추가.
include 파일은 그대로
2. 해제할 노드의 태스크트래커를 중지하기 위해 맵리듀스 클
러스터를 재시작
3. 허가된 새로운 데이터노드를 가지고 네임노드를 갱신
% hadoop dfsadmin -refreshNodes
4. 웹 UI에 접속해서 해제할 데이터노드들의 관리 상태가
'Decommisioning in Progress'로 변했는지 확인
5. 모든 데이터노드가 블록 복사를 완료하면 관리 상태가
'Decommeissioned'
6. 해제된 노드 중단
7. include 파일에서 해당 노드 삭제 후
% hadoop dfsadmin -refreshNodes
8. slaves 파일에서 해당 노드 삭제
include ,exclude 파일 우선순위
include exclude 해석
아니오 아니오 접속 불가능 노드
아니오 예 접속 불가능 노드
예 아니오 접속 가능 노드
예 예 접속 가능 노드, 곧 해제
업그레이드
• 업그레이드 할 때는 철저한 계획을 세워서.
• 데이터 유실 위험성이 존재 하므로 데이터와 메
타데이터 백업은 필수.
• 작은 클러스터에서 테스트 후 진행.
• 파일시스템 레이아웃 변경 없이 업그레이드는
비교적 간단.
• 레이아웃버젼이 다르면 네임노드는 구동되지 않
음.
파일시스템 레이아웃 변경 없이
1. HDFS와 맵 리듀스의 새버전 설치
2. 환경 설정 파일 수정
3. 새 데몬 구동
4. 사용자가 새로운 라이브러리를 사용
5. 클러스터에서 오래된 설치 및 설정 파일 삭제
6. 코드와 설정에서 발생하는 디프리케이션 경고
수정
파일시스템 레이아웃 변경
1. 먼저 진행한 업그레이드가 모두 완료 되었는지를 확인하고
나서 다른 업그레이드 진행
2. 맵 리듀스 종료, 테스크트래커의 좀비나, 스레드 종료
3. HDFS 종료. 네이몬드 디렉토리 백업.
4. 클러스터와 클라이언트들에 새 하둡 HDFS와 맵 리듀스 버전
설치
5. -upgrade 옵션으로 HDFS 구동
6. 끝날때까지 대기
7. HDFS에서 새너티 체크
8. 맵리듀스 시작
9. 롤백 or 업그레이드 최종 확인

More Related Content

What's hot

Distributed Programming Framework, hadoop
Distributed Programming Framework, hadoopDistributed Programming Framework, hadoop
Distributed Programming Framework, hadoop
LGU+
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
Tae Young Lee
 
Hive 입문 발표 자료
Hive 입문 발표 자료Hive 입문 발표 자료
Hive 입문 발표 자료
beom kyun choi
 
Hadoop administration
Hadoop administrationHadoop administration
Hadoop administration
Ryan Guhnguk Ahn
 
Hdfs
HdfsHdfs
Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정HyeonSeok Choi
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다
민철 정민철
 
알고 쓰자! HBase | Devon 2012
알고 쓰자!  HBase | Devon 2012알고 쓰자!  HBase | Devon 2012
알고 쓰자! HBase | Devon 2012Daum DNA
 
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Matthew (정재화)
 
HBase 훑어보기
HBase 훑어보기HBase 훑어보기
HBase 훑어보기
beom kyun choi
 
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
BOMI KIM
 
hadoop ch1
hadoop ch1hadoop ch1
hadoop ch1
Mungyu Choi
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
Choonghyun Yang
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
Gruter
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoop
MinJae Kang
 
HDFS Overview
HDFS OverviewHDFS Overview
HDFS Overview
JEONGPHIL HAN
 
SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표Sinhyub Kim
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
DaeHeon Oh
 

What's hot (20)

Distributed Programming Framework, hadoop
Distributed Programming Framework, hadoopDistributed Programming Framework, hadoop
Distributed Programming Framework, hadoop
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
Hive 입문 발표 자료
Hive 입문 발표 자료Hive 입문 발표 자료
Hive 입문 발표 자료
 
Hadoop administration
Hadoop administrationHadoop administration
Hadoop administration
 
Hadoop overview
Hadoop overviewHadoop overview
Hadoop overview
 
Hdfs
HdfsHdfs
Hdfs
 
Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다
 
알고 쓰자! HBase | Devon 2012
알고 쓰자!  HBase | Devon 2012알고 쓰자!  HBase | Devon 2012
알고 쓰자! HBase | Devon 2012
 
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
 
HBase 훑어보기
HBase 훑어보기HBase 훑어보기
HBase 훑어보기
 
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
 
hadoop ch1
hadoop ch1hadoop ch1
hadoop ch1
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
Hadoop발표자료
Hadoop발표자료Hadoop발표자료
Hadoop발표자료
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoop
 
HDFS Overview
HDFS OverviewHDFS Overview
HDFS Overview
 
SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표SW1차 프로젝트 Hive 최종발표
SW1차 프로젝트 Hive 최종발표
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
 

Viewers also liked

Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
Choonghyun Yang
 
Atom
AtomAtom
자료구조 큐
자료구조 큐자료구조 큐
자료구조 큐
Choonghyun Yang
 
Hadoop io part2
Hadoop io part2Hadoop io part2
Hadoop io part2
Choonghyun Yang
 
Express 프레임워크
Express 프레임워크Express 프레임워크
Express 프레임워크
Choonghyun Yang
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)
Choonghyun Yang
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션
Choonghyun Yang
 
Bootstrap
BootstrapBootstrap
Bootstrap
Choonghyun Yang
 
연결 자료구조
연결 자료구조연결 자료구조
연결 자료구조
Choonghyun Yang
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
Choonghyun Yang
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)
Choonghyun Yang
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cli
Choonghyun Yang
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
Choonghyun Yang
 
Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)
Choonghyun Yang
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
Choonghyun Yang
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
영기 김
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
KTH, 케이티하이텔
 
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
Yongho Ha
 
Http method
Http methodHttp method
Http method
Choonghyun Yang
 

Viewers also liked (20)

Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
Atom
AtomAtom
Atom
 
자료구조 큐
자료구조 큐자료구조 큐
자료구조 큐
 
Hadoop io part2
Hadoop io part2Hadoop io part2
Hadoop io part2
 
Express 프레임워크
Express 프레임워크Express 프레임워크
Express 프레임워크
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
연결 자료구조
연결 자료구조연결 자료구조
연결 자료구조
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cli
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)Http 완벽가이드(3장 http 메시지)
Http 완벽가이드(3장 http 메시지)
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
File Context
File ContextFile Context
File Context
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
 
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
 
Http method
Http methodHttp method
Http method
 

Similar to 하둡관리

Hadoop distributed file system rev3
Hadoop distributed file system rev3Hadoop distributed file system rev3
Hadoop distributed file system rev3
Sung-jae Park
 
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0sprdd
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0sprdd
 
log-monitoring-architecture.pdf
log-monitoring-architecture.pdflog-monitoring-architecture.pdf
log-monitoring-architecture.pdf
Sungkyun Kim
 
[오픈소스컨설팅]Ansible overview
[오픈소스컨설팅]Ansible overview[오픈소스컨설팅]Ansible overview
[오픈소스컨설팅]Ansible overview
Open Source Consulting
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용
Seoro Kim
 
Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0sprdd
 
Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0sprdd
 
Glusterfs 구성제안 v1.0
Glusterfs 구성제안 v1.0Glusterfs 구성제안 v1.0
Glusterfs 구성제안 v1.0sprdd
 
하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정
NoahKIM36
 
저장장치
저장장치저장장치
저장장치
박 경민
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XpressEngine
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-upload
Dong-Hwa jung
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
Gruter
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows password
INSIGHT FORENSIC
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
PgDay.Seoul
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나sprdd
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템
박 민규
 

Similar to 하둡관리 (20)

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
 
log-monitoring-architecture.pdf
log-monitoring-architecture.pdflog-monitoring-architecture.pdf
log-monitoring-architecture.pdf
 
[오픈소스컨설팅]Ansible overview
[오픈소스컨설팅]Ansible overview[오픈소스컨설팅]Ansible overview
[오픈소스컨설팅]Ansible overview
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용
 
Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0
 
Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0Glusterfs 구성제안서 v1.0
Glusterfs 구성제안서 v1.0
 
Glusterfs 구성제안 v1.0
Glusterfs 구성제안 v1.0Glusterfs 구성제안 v1.0
Glusterfs 구성제안 v1.0
 
하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정
 
저장장치
저장장치저장장치
저장장치
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-upload
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows password
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
Gfs Kyu
Gfs KyuGfs Kyu
Gfs Kyu
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템
 

More from Choonghyun Yang

Git
GitGit
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
Choonghyun Yang
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링
Choonghyun Yang
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
Choonghyun Yang
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문
Choonghyun Yang
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리
Choonghyun Yang
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스
Choonghyun Yang
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
Choonghyun Yang
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
Choonghyun Yang
 
No sql 분산모델
No sql 분산모델No sql 분산모델
No sql 분산모델
Choonghyun Yang
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지
Choonghyun Yang
 
십진수 이외의 것
십진수 이외의 것십진수 이외의 것
십진수 이외의 것
Choonghyun Yang
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
Choonghyun Yang
 

More from Choonghyun Yang (13)

Git
GitGit
Git
 
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
 
No sql 분산모델
No sql 분산모델No sql 분산모델
No sql 분산모델
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지
 
십진수 이외의 것
십진수 이외의 것십진수 이외의 것
십진수 이외의 것
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
 

하둡관리

  • 3. 네임노드 - VERSION • layoutVersion : 음의 정수로 정의 • namespaceID : 파일시스템 식별자, 데이터 노드 식별 • cTime : 네임노드 저장소 생성시간 표시 • storageType : 네임노드에 데이터 구조 표시 TUE Mar 10 19:21:36 GMT 2009 namespaceID=134368441 cTime=0 storageType=NAME_NODE layoutVersion=-18
  • 4. 에디트 로그 • 클라이언트가 쓰기 동작할 때 마다 에디트로그 에 기록. • 네임노드는 FS메타데이터를 메모리에 올려서 인 메모리 자료구조로 관리, 에디트로그가 수정된 후에 업데이트. • 인메모리 데이터는 읽기 요청을 수행하는데 사 용 • edits 파일 크기의 제한은 없음.
  • 5. fsimage • 파일시스템 메타데이터 영속적인 체크포 인트 파일. • 개별 쓰기 동작 때마다 갱신 되지 않음. • 파일시스템에 존재하는 모든 디렉토리와 파일 inode 정보를 바이트로 직렬화. • inode • 파일, 파일의 복제단위, 변경및 접근 시간, 접 근권한 블록의 크기
  • 6. edits 파일 크다면 • 네임노드가 구동중일때 영향없음. • 네임노드가 재시작하는 경우 에디트로그 의 개별 동작을 메모리에 반영 하기 위해 상당한 시간이 소요. • 해결책 : 보조 네임노드를 구동. • 보조 네임노드의 용도는 주 네임노드의 인 메모리 메타데이터에 체크포인트를 생성.
  • 8. 보조 네임노드 디렉터리 구조 •네임노드가 시작할때 importCheckpint 옵션을 사용하면 보조네임노드가 주네임노드로
  • 9. 데이터노드 디렉터리 구조 • 디렉터리 내 블록 수는 64개(dfs.datanode.numblocks) • dfs.data.dir은 여러 디렉터리 지정가능, 블록은 라운드 로빈 방식으로 각 디렉터리에 쓰여짐.
  • 10. 안전모드 1. 네임노드는 시작직후 fsimage를 메모리에 적제하고 edits로그의 변경사항을 반영 2. 완전한 메타데이타가 재구성되면 새로운 fsimage와 빈 edit 로그를 생성. 3. 안전모드 실행 시 읽기 전용의 RPC와 HTTP 요청이 수락된다. 4. 데이터 노드들로부터 블락정보를 넘겨받는다. 5. 최소 복제 상태가 되면 30초후 안전모드가 해제된다.
  • 11. 안전모드 속성 속성명 타입 기본값 설명 dfs.replication.min 정수 1 쓰기 작업이 성공하기 위해서 쓰여져야 하는 최소 복제본수 dfs.safemode.threshold.pct 실수 0.999 최소 복제 수준을 충족하는 시 스템내의 블록의 비율. 이 값을 0이하나 그 이하로 설 정하면 네임노드는 안전모드 없이 시작. dfs.safemode.extension 정수 30,000 최소 복제본수가 만족하고 나 서 안전모드 상태 유지 시간 (ms 단위)
  • 12. 안전모드 진입과 해제 • 안전모드인지 확인하기 % hadoop dfsadmin –safemode get • 특정 명령이 실행 되기 전 안전모드가 빠져 나오 기를 기다리게 하기 % hadoop dfsadmin –safemode wait • 안전모드 진입 % hadoop dfsadmin –safemode enter • 안전모드 빠져 나오기 % hadoop dfsadmin –safemode leave
  • 13. 감사 로깅 • HDFS는 모든 파일시스템 접근 요청을 기 록. • 감사 로깅은 log4j를 이용. • 기본값은 WARN • http://wiki.apache.org/hadoop/HowToConfigure
  • 14. dfsadmin • HDFS 상태 정보를 조회 및 다양한 관리 동작 을 수행하는 다목적 도구. • Superuser 권한이 필요. • 명령어 -help, -report, -metasave, -safemode, -saveNamespace, -refreshNodes, -upgradeProgress, -finalzeUpgrade, -setQuota, -clrQuota, -setSpaceQuota, -clrSpaceQuota, -refreshServiceAlc
  • 15. fsck • HDFS내에 있는 파일 상태 점검을 위한 유틸리티 제공. • 데이터노드를 점검하여 사라지거나, 적게 또는 많이 복제된 블록을 찾아줌. • 파일을 점검하기 위해서 파일 블록의 메타데이 터를 조회하고 문제점이나 불일치 한 것을 찾는 다.
  • 16. fsck – 체크 상태 • 과잉 복제된 블록 • 부족하게 복제된 블록 • 잘못 복제된 블록 • 오염된 블록 • 없어진 복제본
  • 17. 데이터노드 블록 스캐너 • 모든 데이터노드는 블록 스캐너를 실행 하며 저 장된 블록을 주기적으로 점검 • 문제있는 블록은 클라이언트가 읽기 전에 삭제 하거나 수정. • 3주마다 주기적으로 점검 • dfs.datanode.scan.preiod.hours • 기본값은 504시간. • http://datanode:50075/blockScannerRepo rt
  • 18. 데이터노드 블록 스캐너 • http://datanode:50075/blockScannerReport? listblock • 최근의 점검 상태 • blk_2880642477235589345_1712 : status : ok type : local scan time : 1328684200718 2012-02-08 01:56:40,718 blk_-8383560827245098225_1470 : status : ok type : remote scan time : 1328736508026 2012-02-08 16:28:28,026 blk_-1634356630613489001_3191 : status : ok type : none scan time : 0 not yet verified
  • 19. 밸런서 • 블록을 재분배해주는 하둡 데몬. • 자주 사용되는 블록을 덜 사용되는 데이터노드의 블 록으로 옮겨줌. • 균형 상태가 될 때 까지 실행 • 각각의 데이터노드 이용률과 클러스터의 이용률과 비교하 여 주어진 임계치 이내 • -threshold 인자로 임계치 지정, 지정 하지 않으면 10% • 클러스터는 오직 하나의 밸런서만 실행 • dfs.balance.bandwidthPerSec • 기본은 초당 1MB
  • 20. 모니터링 • 기대 수준 이하의 서비스를 제공하는 클러스터 를 발견하는 것. • 주 네임노드, 보조 네임노드, 잡트래커와 같은 데 몬을 관찰.
  • 21. 로깅 • 문제를 파악하기 위한 로그 수준의 레벨을 일시 적으로 변경 가능. • % hadoop daemonlog -setlevel jobtracker-host:50050 org.apache.hadoop.mared.JobTracker DEBUG • 잡트래커 재시작 시 로그레벨 변경 • 로그 레벨을 영속적인 변화를 주고 싶을때 • conf 디렉터리의 log4j.properties • 스택 트레이스 제공 • 웹UI/stacks • http://jobtracker-host:5003/stacks
  • 22. 매트릭스 • 매트릭스로 알려진 이벤트와 측정치를 수집 • 매트릭스는 context에 속하고, 하둡은 현재 ‘dfs’, ‘mapred’, ‘rpc‘, ‘jvm’을 사용. • context 내의 매트릭스를 수집. • conf/hadoopmetrics.properties 파일에서 설정. • 기본적으로 모든 context는 게시되지 않도록 설 정. (NullContext)
  • 23. Context 종류 • FileContext • 디버깅 용도로 적합 • 대규모 클러스터 환경(X) • GangliaContext • 규모가 큰 클러스터를 위한 오픈 소스 분산 모니터링 시스 템 • http://ganglia.info • NullContextWithUpdateThread • JMX류를 위해 구현. GraniaContext도 이와 같은 동작이 진 행됨. 메트릭스가 기본 5초 주기로 갱신 • CompositeContext • Context들을 여러개 같이 사용할 때 사용
  • 24. 자바 관리 익스텐션(JMX) • JMX는 모니터링과 관리를 위한 표준 JAVA API • NullContextWithUpdateThread 를 사용하면 JConsole로 JVM에 접속해 MBean의 최신 상태 값들을 확인 • 일반적으로 Nagios와 갱글리아를 연계해서 하둡 클러스터를 모니터링 • Nagios는 JMX를 접속할 수 있도록 권한,과 원격 접속 활성화등의 설정
  • 25. 하둡 Mbean MBean class 데몬 매트릭스 NameNodeActivityMBean 네임노드 네임노드 동작 매트릭스 예: 파일 생성 횟숫 FSNameSystemMBean 네임노드 네임노드 상태 매트릭스 예: 연결된 데이터노드 수 DataNodeActivityMBean 데이터노드 데이터노드 동작 매트릭스 예: 읽은 바이트수 FSDataSetMBean 데이터노드 Datanode storage metrics such as capacity and free storage space RpcActivityMBean RPC를 사용하는 모든 데몬 (네임노 드, 데이터노드, 잡트래커, 태스크 트래커) RPC 통계 예: 평균처리시간
  • 26. 일상적인 관리 절차 • 메타데이터 백업 • 보조 네임노드의 이전 체크포인트 하위 디렉토리를 스크립트로 원격지에 주기적으로 저장. • 데이터 백업 • 데이터 우선 순위를 정하여 백업 • 백업한다고 100% 안전한 것은 아니다. • 파일시스템 점검 • 파일시스템 밸런서
  • 27. 노드 위임과 해제 • 클러스터에 가용한 저장공간을 늘리기 위해서 노드 위임. • 클러스터를 줄이고 싶을 때 노드를 해제. • 노드는 보통 데이터노드와 태스크트래커가 모두 구동. • 네임노드에 연결이 허용되는 데이터노드는 dfs.hosts 파일에 기재. • 잡트래커에 연결하는 태스크트래커는 mapred.hosts 파일에 기재.
  • 28. 새로운 노드 위임하기 1. 인클루드 파일에 새 노드의 네트워크 주소를 추가 2. 아래 명령어를 이용해 네임노드에 허가된 데이터 노드 집합 반영 % hadoop dfsadmin -refreshNodes 3. 새 노드가 하둡 제어 스크립트에 의해 클러스터에 서 사용될 수 있게 slaves 파일 갱신 4. 새 데이터노드 시작 5. 맵리듀스 클러스터를 재시작 (mapred.jobtracker.restart.recover=true 로 설정하 면 재시작시 실행되던 잡들이 복구됨) 6. 새로운 새로운 데이터노드와 태스크트래커가 웹 UI 에 나타나는지 확인
  • 29. 오래된 노드 해제 1. 해제할 노드의 네트워크 주소를 exclude 파일에 추가. include 파일은 그대로 2. 해제할 노드의 태스크트래커를 중지하기 위해 맵리듀스 클 러스터를 재시작 3. 허가된 새로운 데이터노드를 가지고 네임노드를 갱신 % hadoop dfsadmin -refreshNodes 4. 웹 UI에 접속해서 해제할 데이터노드들의 관리 상태가 'Decommisioning in Progress'로 변했는지 확인 5. 모든 데이터노드가 블록 복사를 완료하면 관리 상태가 'Decommeissioned' 6. 해제된 노드 중단 7. include 파일에서 해당 노드 삭제 후 % hadoop dfsadmin -refreshNodes 8. slaves 파일에서 해당 노드 삭제
  • 30. include ,exclude 파일 우선순위 include exclude 해석 아니오 아니오 접속 불가능 노드 아니오 예 접속 불가능 노드 예 아니오 접속 가능 노드 예 예 접속 가능 노드, 곧 해제
  • 31. 업그레이드 • 업그레이드 할 때는 철저한 계획을 세워서. • 데이터 유실 위험성이 존재 하므로 데이터와 메 타데이터 백업은 필수. • 작은 클러스터에서 테스트 후 진행. • 파일시스템 레이아웃 변경 없이 업그레이드는 비교적 간단. • 레이아웃버젼이 다르면 네임노드는 구동되지 않 음.
  • 32. 파일시스템 레이아웃 변경 없이 1. HDFS와 맵 리듀스의 새버전 설치 2. 환경 설정 파일 수정 3. 새 데몬 구동 4. 사용자가 새로운 라이브러리를 사용 5. 클러스터에서 오래된 설치 및 설정 파일 삭제 6. 코드와 설정에서 발생하는 디프리케이션 경고 수정
  • 33. 파일시스템 레이아웃 변경 1. 먼저 진행한 업그레이드가 모두 완료 되었는지를 확인하고 나서 다른 업그레이드 진행 2. 맵 리듀스 종료, 테스크트래커의 좀비나, 스레드 종료 3. HDFS 종료. 네이몬드 디렉토리 백업. 4. 클러스터와 클라이언트들에 새 하둡 HDFS와 맵 리듀스 버전 설치 5. -upgrade 옵션으로 HDFS 구동 6. 끝날때까지 대기 7. HDFS에서 새너티 체크 8. 맵리듀스 시작 9. 롤백 or 업그레이드 최종 확인