HDFS - [운영] 데이터노드 추가, 제거

Posted 05 12, 2013 15:48, Filed under: BigData/Hadoop



# 데이터노드를 추가, 제거시 재시작 작업을 없애기 위해 보통 하둡 클러스터를 구성할 때 dfs.hostsdfs.hosts.exclude 속성을 hdfs-site.xml 에 추가하기를 권장합니다.
- 초기 dfs.hosts, dfs.hosts.exclude 설정시 HDFS 재시작


# 데이터노드 추가 : dfs.hosts

1) 네임노드의 slaves 파일에 데이터 노드를 추가
 - HDFS를 재시작 해야 데이터노드를 인식.

2) 네임노드에 dfs.hosts 속성을 추가하여 관리
 - HDFS를 재시작 하지 않고 데이터노드를 인식

하둡을 중단하지 않고, 데이터노드를 추가하기 위해서는 dfs.hosts 속성을 hdfs-site.xml 에 정의해줍니다.
이 방법으로 제한 없이 데이터노드가 추가되는 것을 방지하기 위해 미리 정의된 호스트만 데이터노드를 추가 할 수 있습니다.

# dfs.hosts 설정
hdfs-site.xml
<property>
    <name>dfs.hosts</name>
    <value>/home/hadoop/hadoop/conf/include_server</value>
</property>

include_server 파일에는 현재 구동 중인 데이터노드만 추가합니다.
[hadoop@master conf]$ cat include_server
secondary.namenode
datanode01

저장후 refreshNodes 명령을 실행하여 데이터노드를 새로고침
[hadoop@master bin]$ ./hadoop dfsadmin -refreshNodes



# 데이터노드 제거 : dfs.hosts.exclude

주의)
데이터노드를 제거했을 때 남게 되는 데이터노드의 수가 dfs.replication(데이터 복제본수) 옵션으로 설정한 값보다 크거나 같아야 합니다.
예를 들어 데이터 노드가 4개, dfs.replication 옵션이 3인 환경에서 하나의 데이터노드를 제거하면 데이터노드가 제거 진행 중인 상태로만 남아 있게 됩니다.

# dfs.hosts.exclude 설정
hdfs-site.xml
<property>
    <name>dfs.hosts.exclude</name>
    <value>/home/hadoop/hadoop/conf/exclude_server</value>
</property>

exclude_server 파일에 제거해야할 데이터노드의 호스트명을 추가
[hadoop@master conf]$ cat exclude_server
datanode01

저장후 refreshNodes 명령을 실행하여 데이터노드를 새로고침
[hadoop@master bin]$ ./hadoop dfsadmin -refreshNodes


참고 : 시작하세요! 하둡 프로그래밍
※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
05 12, 2013 15:48 05 12, 2013 15:48


Trackback URL : http://develop.sunshiny.co.kr/trackback/893

  1. # 김인겸 2017年 02月 23日 10時 03分 Delete Reply

    본문의 내용 중에서
    "데이터노드를 제거했을 때 남게 되는 데이터노드의 수가 dfs.replication(데이터 복제본수) 옵션으로 설정한 값보다 크거나 같아야 합니다.
    예를 들어 데이터 노드가 4개, dfs.replication 옵션이 3인 환경에서 하나의 데이터노드를 제거하면 데이터노드가 제거 진행 중인 상태로만 남아 있게 됩니다."
    라는 내용이 있는데 4개면 삭제후 3개가 되니, 3개보다 크거나 같음에 속하게 되는데 왜 진행중인 상태로 남아있게 되는건가요?

    1. Re: # sunshiny 2017年 02月 25日 13時 12分 Delete

      안녕하세요.
      댓글 남겨주셔서 감사합니다.

      관련 내용은 도서를 참고 했는데요.

      hadoop dfsadmin -refreshNodes 명령을 통해,
      노드 정보를 갱신하는 과정에서 excludes에 노드 정보가 존재할때 내부적으로 Rebalancing 작업을 진행하는데요.
      hadoop dfsadmin -report 명령을 통해, 해당 노드의 Decommission 전후 상태를 보면, Normal 에서 Decommission in progress 상태로 변경이 됩니다.
      책의 내용에서는 Decommission in progress 상태가 되었을때를 말하는 것으로 생각됩니다.
      Rebalancing 과정에서, 데이터를 다른 노드에 복제한 후에 Decommissioned 상태로 변경이 되고...
      그때 해당 데이터 노드의 프로세스를 중지하고 물리적인 연결까지 끊으면 될 것으로 생각됩니다.

Leave a comment

« Previous : 1 : ... 123 : 124 : 125 : 126 : 127 : 128 : 129 : 130 : 131 : ... 648 : Next »

Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. 안녕하세요^^ 배그핵
  2. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  3. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  4. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny
  5. 감사합니다 많은 도움 되었습니다!ㅎㅎ 프리시퀸스

Recent Trackbacks

  1. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   07 2019   »
  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      

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2621560 HIT
TODAY 1305 HIT
YESTERDAY 1406 HIT