티스토리 뷰

개발 노트/Hadoop

Hadoop Upgrade Guide for v.0.14

오리지날초이 2013. 12. 6. 11:14

초기 0.x 버전부터 현재까지 hadoop feature 를 정리하며 공부중이다.

Hadoop 은 upgrade 기능을 제공하는데, 이번 글은 v0.14 upgrade 에 관한 가이드를 요약 정리한 것이다.


원문은 아래에서 확인할 수 있다.

http://wiki.apache.org/hadoop/Hadoop_0.14_Upgrade


Upgrade Path

- 0.12 또는 0.13.1 에서 0.14 로 업그레이드 가능함 

  그 이하 버전에서는 테스트해보지 않았지만 가능할 것임


Brief Upgrade Procedure

- 클러스터의 기동을 멈춰야 한다.

   MR 을 내리고, DFS 도 중단시켜라

- 새 버전의 Hadoop 을 인스톨하고 업그레이드가 완료될 때 까지 기다린다.

- Hadoop cluster 를 다시 시작하면 된다.


Block CRC Upgrade

- 기존 버전의 Hadoop 에서는 파일무결성 체크를 위해 각각의 파일에 대해 .filename.txt.crc 라는 체크섬 파일을 따로 가지고 있었다.

  하지만 업그레이드된 버전에서는 체크섬을 shadow crc 파일로 가지고 있지 않고 block data 에 포함시킨다.

- Block CRC Upgrade 는 아래 과정을 거쳐야 한다.

  1. Safe Mode : 클러스터는 모든 datanode 로 부터 block report 를 받기 위해 오랫동안 기다리게 된다.

  2. Datanode Upgrade : block report 를 거의 다 받게 되면 namenode 는 datanode 들에게 local upgrade 를 요청한다.

                                 namenode 는 업그레이드가 all complete 될 때까지 기다린다.

  3. Deleting .crc files : namenode 는 기존에 사용하던 .crc 파일을 모두 지운다.


Monitoring Upgrade 

- HDFS Web UI  를 통해 safe mode 가 진행 중인지 아닌지 확인할 수 있다.

  당연하지만, 진행상황 확인을 위해 namenode 와 datanode 의 log file 은 가장 유용한 도구이다.


1. First Stage : Safe Mode

- 진행도가 진척이 안되면 Dead datanode 가 없는 지 살펴봐라

2. Second Stage : Datanode Upgrade

- upgrade 를 진행하다보면 몇몇 block 들이 over replicated 될 수도 있다. 

  또 어떤때엔 모든 datanode 가 complete 되지 않아서 다음 단계로 넘어가지 못할 수도 있다.

  이럴땐 detail option 을 통해 upgrade 가 정체된게 맞는지 자세히 확인해봐라

  모든 block 이 minimum replicas 를 만족하지만 진척이 안되고 있을 땐 force option 을 사용해서 다음 단계로 넘어갈 수 있다.

3. Third Stage : Deleting .crc files

- 1개 rack 설정에서 200만개의 .crc 를 지우는데 1시간 정도 걸렸다. 참고해라


Memory requirements

- 업그레이드를 위해서 메모리가 많이 쓰이진 않는다, 대략 5-10% 정도 될거다.

  만약 네임노드의 메모리 가용량이 별로 없으면 문제가 생길 수도 있으니까 자원확보 후 진행해라


Analyzing Log Files

- log 파일은 당연히 중요하다. 잘 확인하고..

  1.4 버전부터 data transfer protocol 이 변경되서 block 을 못 찾는다는 waring msg 가 나타날 수 있다.



사실 hadoop 업그레이드를 해본적이 없어서...

namenode 에서 new version 을 일괄배포해 주는건지

각 datanode 에서 직접 설치를 해줘야 하는지

각 datanode 에 new version 을 저장만 해두고 path 를 입력해주는 방식인지도 잘 모른다..

다음에 기회가 되면 테스트 해보고 포스팅 해보겠다.


그리고 safemode 작동시 모든 dead datanode 가 있는 경우

block report 를 받기 위해 무한정 기다리는지 아닌지도 직접 확인이 필요한 사항이다.



728x90
반응형

'개발 노트 > Hadoop' 카테고리의 다른 글

HDFS Architecture and Design (v0.14)  (0) 2013.12.20
Balancer Java Code(상세)  (0) 2013.12.11
Balancer  (0) 2013.12.05
운영상의 이슈  (0) 2013.11.14
hadoop datanode 제거 / 추가 하기 (2)  (0) 2013.11.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함