작성
·
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
odark 님
안녕하세요. distcp 분산 복사 명령어(distributed copy command)로서 한 클러스트에서 다른 클러스트로 복제하는 명령어입니다. 분기별 혹은 주기별로 데이터를 백업하는 기능입니다. 다른 클러스트 사이로 데이터를 마이그레이션 할 때 쓰는 것이죠. 쉽게 말씀드리면 한 클러스트에서 다른 클러스트로 복사를 하는 작업입니다. 대기업에서는 꼭 필요한 마이그레이션 작업이죠.
명령어 예제) hadoop distcp 클러스트 서버 주소 1 클러스트 서버 주소 2
이렇게 사용하는 겁니다. 클러스트 1 과 클러스트 2 사이로 복사를 하게 되는 셈이죠. 파일이라고 한다면 데이터노드들을 복제하는 것입니다. 이해가 되었으면 합니다. 네임노드들이 클러스트 1과 2에 각각 하나 이상 씩 존재하고 있으니 당연히 네임노드들 간의 복제인 셈이죠. 네임노드가 데이터노드들의 정보를 가지고 있고, 이들이 복제되는 것이고요.. 질문에 답이 되었는지 모르겠네요.. 다른 질문으로 또 뵙죠...
토론토에서 빌리 올림.