VPC 환경에서 이용 가능합니다.
네이버 클라우드 플랫폼의 Cloud Hadoop은 Block Storage에 HDFS (Hadoop Distributed File System)을 구성하여 기본 저장소로 사용하고 있으며, Object Storage 연동을 지원하고 있습니다. Object Storage는 Public DNS를 제공하고 있기 때문에 인터넷 연결이 가능한 환경이라면 데이터를 쉽게 저장하고 다운로드할 수 있습니다. 네이버 클라우드 플랫폼 외부에서도 Object Storage를 이용하여 분석이 필요한 대용량 데이터를 네이버 클라우드 플랫폼으로 이전해 올 수 있는 장점이 있습니다.
이 가이드는 위 그림과 같은 형태로 외부 원본 데이터를 네이버 클라우드 플랫폼 Object Storage로 이전하는 방법과 Object Storage에서 Cloud Hadoop HDFS로 이전하는 방법을 설명합니다.
사전 작업
Object Storage에서 데이터를 저장할 버킷을 생성해 주십시오.
버킷 생성에 대한 자세한 내용은 Object Storage 사용 가이드를 참조해 주십시오.
외부에서 Object Storage로 데이터 이전
네이버 클라우드 플랫폼 Object Storage는 AWS S3와 호환되는 저장소이기 때문에 AWS CLI를 그대로 사용할 수 있습니다.
자세한 내용은 Object Storage CLI 사용 가이드를 참조해 주십시오.
AWS CLI에 대한 정보는 awscli 문서를 참조해 주십시오.
1. 샘플 데이터 준비
외부에서 Object Storage로 데이터 이전 테스트를 하기 위한 샘플 데이터를 다운로드해 주십시오.
- 이 가이드에서는 샘플 데이터의
AllstarFull.csv
파일을 사용하여 데이터 이전 작업을 수행했습니다.
제공되는 샘플 데이터는 Lahman's Baseball Database 2012 버전의 일부로, 데이터의 모든 저작권은 Sean Lahman에게 있습니다.
2. AWS CLI 설치
엣지 노드에 SSH로 접속한 후, pip install
명령어를 사용하여 AWS CLI를 설치해 주십시오.
3. 인증키 정보 확인
생성해 둔 Object Storage 버킷에 접속하려면 네이버 클라우드 플랫폼 인증키 정보가 필요합니다.
네이버 클라우드 플랫폼 포털 [마이페이지] 의 [인증키 관리] 에서 신규 API 인증키 생성 후, Access Key ID와 Secret Key를 확인해 주십시오.
- 인증키에 대한 자세한 내용은 인증키 관리 가이드를 참조해 주십시오.
4. 환경 설정
다음 명령어로 사용 환경을 구성한 후 Object Storage 엔드포인트 주소를 넣어 확인해 주십시오.
- 예제의 버킷 이름:
example
example
로 생성한 버킷 확인
5. 데이터 업로드
AWS CLI의 cp
명령어를 사용하여 데이터를 Object Storage에 업로드한 후, 정상적으로 업로드되었는지 확인해 주십시오.
s3://[YOUR-BUCKET-NAME]/
Object Storage에서 Cloud Hadoop HDFS로 데이터 이전
Object Storage로 옮겨온 데이터를 Cloud Hadoop HDFS로 옮길 수 있습니다.
1. Cloud Hadoop 엣지 노드 접속
작업하고자 하는 Cloud Hadoop 클러스터의 엣지 노드에 접속해 주십시오.
엣지 노드에 접속하는 자세한 설명은 SSH로 클러스터 노드 접속 가이드를 참조해 주십시오.
2. 액세스 확인
다음 명령어를 사용하여 엣지 노드에서 Object Storage 버킷에 접근되는지 확인해 주십시오.
hadoop fs -ls hdfs://[YOUR-CLUSTER-NAME]/
hadoop fs -ls s3a://[YOUR-BUCKET-NAME]/
3. 데이터 이전
Hadoop의 대량 파일 복사를 위한 명령어인 distcp
를 다음과 같이 사용하여 데이터 이전을 실행한 후 정상적으로 옮겨졌는지 확인해 주십시오.
구문 형식: hadoop distcp -m 10 -bandwidth 100 s3a://[YOUR-BUCKET-NAME]/* hdfs://[YOUR-CLUSTER-NAME]/sampledata/
단일 파일 복사 시 hadoop put
명령어를 사용하여 데이터를 이전할 수 있습니다.