티스토리 뷰

Cloudera quickstart 이미지로 가상머신을 생성하고나면 하둡 에코시스템에 대한 여러 실습이 가능합니다.

이번 글에서는 하둡의 기본 명령어에 대해 알아보겠습니다.

 

 

 

quickstart 가상머신 첫 화면에서 위에 표시된 아이콘을 클릭하면 터미널을 열 수 있습니다.

 

 

 

 

1. hadoop fs

하둡 명령어는 앞에 hadoop fs 가 항상 붙습니다.

터미널에 hadoop fs만 입력하면 사용가능한 하둡 명령어 리스트들을 확인할 수 있습니다.

hadoop fs 뒤의 명령어는 대부분 리눅스와 동일하지만 명령어 앞에는 항상 하이픈(-)이 붙습니다.

 

 

 

2. hadoop fs -ls

HDFS의 리스트를 확인할 수 있습니다.

ls 뒤에 경로를 붙여 탐색하고 싶은 경로를 확인할 수 있고 경로를 붙이지않으면 홈 디렉터리를 보여줍니다.

quickstart에서 홈 디렉터리는 /user/cloudera 입니다.

 

 

 

3. hadoop fs -mkdir

디렉터리를 생성합니다.

 

※실습 진행에 필요한 데이터를 받기위해 가상머신 내 Firefox 웹 브라우저를 통해 아래 링크에서 접속하여 shakespeare.tar.gzaccess_log.gz 파일들을 다운받아 줍니다.

 

http://ailab.ssu.ac.kr/rb/?c=8/29&cat=2016_1_%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%82%B0%EC%BB%B4%ED%93%A8%ED%8C%85&p=2&uid=732

 

A.I Lab - 실습에 필요한 데이터 파일(Shakespeare, AccessLog)

아래 링크를 접속하셔서 "다운로드 브라우저를 통하여"로 다운로드 진행하시길 바랍니다. Shakespeare 파일

ailab.ssu.ac.kr

다운로드를 하고나면 Downloads 디렉터리에 아래와같이 압축파일이 생깁니다.

tar zxvf shakespare.tar.gz 명령어로 파일 압축해제까지 해줍니다.

 

 

 

4. hadoop fs -put

put 명령어는 로컬 파일시스템에 있는 디렉터리나 파일을 HDFS에 복사해줍니다.

두개의 인자를 받는데 첫번째 인자에는 로컬 파일시스템에서 옮기려는 디렉터리나 파일을 두번째 인자에는 HDFS의 경로를 입력합니다.

빨간 줄은 첫번째 인자로 로컬에 위치한 shakespeare 디렉터리를

파란 줄은 두번째 인자로 HDFS 경로인 /user/cloudera/shakespeare 라는 경로를 입력해줍니다.

그리고 ls 명령어로 확인하면 shakespeare 디렉터리가 HDFS에 복사된 것을 확인할 수 있습니다.

이번에는 다운받았던 다른 파일인 access_log.gz 압축파일의 압축을 풀고 HDFS 홈 디렉터리에 생성한 weblog 디렉터리 밑에 복사를 해주는 작업을 한 명령어로 처리해줍니다. 이번에도 마찬가지로 put 명령어를 사용해서 두가지 인자가 필요한데 첫번째 빨간줄로 표시한 인자인 하이픈(-)은 압축해제를 한 파일을 가리킵니다.

 

 

 

5. hadoop fs -rm

rm 명령어는 파일을 삭제할 때 사용합니다.

shakespeare 디렉터리를 보면 위와 같이 5가지 파일이 있습니다.

glossary라는 파일을 rm 명령어로 삭제시키고 다시 확인하면 glossary 파일이 삭제되고 4개의 파일만 남아있는 것을 확인할 수 있습니다.

 

 

 

6. hadoop fs -get

get 명령어는 put과 반대로 HDFS에서 로컬로 파일을 가져옵니다.

get도 마찬가지로 두개의 인자를 입력하는데 put과 반대로 HDFS에서 가져올 파일을 첫 번째 인자로 로컬 경로를 두 번째 인자로 입력해줍니다.