인프런 커뮤니티 질문&답변

odark님의 프로필 이미지
odark

작성한 질문수

Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기

하둡 공통 명령어 : 사용자 명령어(User Commands)[2] - distcp, fs, jar, kerbname, kdiag, version, envvars

distcp명령어에 대해

작성

·

352

1

 hadoop distcp /user/etc/xml/distcptest/odark.xml /user/etc/xml/distcptest/target

추후에 클러스터내에 네임노드들간에 데이터 전송과 복제가 가능하며 이 distcp 명령어는

일반적인 파일 파일복제나 복사보다는 맵리듀스상에서 다량의 데이타 파일들을 더욱 빠르게 복제하는 효과라고 말씀하셨는데

영상에서는 파일시스템 즉 클러스터내의  데이타 노드에 있는 특정 파일을 다른 target디렉토리로 맵리듀스를 이용하여 copy하는경우만 보여주셨는데....

어떻게 네임노드들간에 복제에 이용하는거죠? hdfs-site.xml 에 설정된

namenode 디렉토리에 있는 데이타파일 복제를 얘기하시나요? 여기 namenode안에는 아무것도 없는데.....

그리고 네임노드들 간이라는게 active <-> standby 간에 얘기하시나요? 아니면 master <-> secondary 네임도드간을 얘기하는건가요? 어떤경우에 이런 distcp복제를 이용하나요?

답변 1

0

Billy Lee님의 프로필 이미지
Billy Lee
지식공유자

odark 님 

안녕하세요. distcp 분산 복사 명령어(distributed copy command)로서 한 클러스트에서 다른 클러스트로 복제하는 명령어입니다. 분기별 혹은 주기별로 데이터를 백업하는 기능입니다. 다른 클러스트 사이로 데이터를 마이그레이션 할 때 쓰는 것이죠. 쉽게 말씀드리면 한 클러스트에서 다른 클러스트로 복사를 하는 작업입니다. 대기업에서는 꼭 필요한 마이그레이션 작업이죠. 

명령어 예제) hadoop distcp 클러스트 서버 주소 1  클러스트 서버 주소 2 

이렇게 사용하는 겁니다. 클러스트 1 과 클러스트 2 사이로 복사를 하게 되는 셈이죠. 파일이라고 한다면 데이터노드들을 복제하는 것입니다.  이해가 되었으면 합니다. 네임노드들이 클러스트 1과 2에 각각 하나 이상 씩 존재하고 있으니 당연히 네임노드들 간의 복제인 셈이죠. 네임노드가 데이터노드들의 정보를 가지고 있고, 이들이 복제되는 것이고요.. 질문에 답이 되었는지 모르겠네요.. 다른 질문으로 또 뵙죠... 

토론토에서 빌리 올림.

odark님의 프로필 이미지
odark

작성한 질문수

질문하기