HDFS 명령어 포맷
HDFS 명령어는 기본적으로 다음과같은 포맷으로 사용합니다.
> ./bin/hadoop fs -cmd [args]
우리는 alias를 등록해두었기 때문에 어디서든 hadoop을 ./bin/hadoop과 대체해서 사용하면 됩니다.
HDFS의 명령어들은 기본적으로 Unix/Linux의 명령어들과 비슷합니다.
파일 목록 보기
파일을 보는것은 다음과 같이 ls를 사용하면 됩니다.
> hadoop fs -ls
-ls 뒤에 아무 argument도 주지 않으면 hdfs의 홈디렉토리를 출력하게 됩니다.
위의 결과를 보시면 지난번에 넣어주었던 conf폴더와 워드카운트의 결과값으로 나온 wordcount_output파일이 있는것을 볼 수 있습니다.
파일 용량 확인
파일의 용량을 보는것은 du명령을 사용하면 됩니다.
> hadoop fs -du conf
위와같이 명령하면 conf 디렉토리 안에 있는 파일들의 용량을 출력하게 됩니다.
파일 내용 보기
파일의 내용은 cat명령을 통해 볼 수 있습니다.
> hadoop fs -cat conf/hadoop-env.sh
위 명령어를 입력하시면 hadoop-env.sh파일의 내용이 출력되는것을 볼 수 있습니다.
디렉토리 생성
디렉토리는 mkdir명령을 사용해 만들 수 있습니다.
> hadoop fs -mkdir dummy
위와같이 명령하면 홈디렉토리에 dummy라는 폴더를 만들게 됩니다.
ls 명령을 통해 홈디렉토리를 출력해보면 다음과 같이 확인해볼 수 있습니다.
파일 복사
put명령을 사용하면 로컬에 있는 파일을 hdfs로 복사할 수 있습니다.
먼저 dummy.txt파일을 만들고 hdfs안에 있는 dummy폴더에 넣어주도록 하겠습니다.
> vi dummy.txt
> hadoop fs -put dummy.txt dummy/dummy.txt
파일의 내용은 다음과 같습니다.
This is a dummy text.
파일을 넣어준 뒤 cat명령으로 파일을 출력해보면 다음과같이 출력하는것을 볼 수 있습니다.
get명령을 사용하면 hdfs에 있는 파일을 로컬로 복사해올 수 있습니다.
아까 복사해서 넣어준 파일을 dummy2.txt로 이름을 바꿔 가져오겠습니다.
> hadoop fs -get dummy/dummy.txt dummy2.txt
복사해온 뒤 ls와 cat명령으로 확인해보면 잘 가져온것을 알 수 있습니다.
파일이동
mv명령을 사용하면 hdfs내에서 파일을 이동할 수 있습니다.
dummy폴더를 conf 디렉토리 안으로 이동시켜 보겠습니다.
> hadoop fs -mv dummy conf
폴더가 conf디렉토리로 잘 이동한 것을 볼 수 있습니다.
파일삭제
rm 명령은 파일을 삭제시킬 수 있습니다.
먼저 conf/dummy/ 디렉토리로 이동한 dummy.txt파일을 삭제시켜 보겠습니다.
> hadoop fs -rm conf/dummy/dummy.txt
파일을 삭제시킨 뒤 conf/dummy 디렉토리를 ls명령으로 출력해보면 아무것도 출력되지 않는것을 볼 수 있습니다.
디렉토리 삭제
rmr명령을 사용해 디렉토리를 삭제할 수 있습니다.
아래 명령을 통해 conf/dummy디렉토리를 삭제시켜 보겠습니다.
> hadoop fs -rmr conf/dummy
디렉토리를 삭제한 뒤 conf 디렉토리를 출력해보면 dummy디렉토리가 사라진것을 확인할 수 있습니다.
기타 명령들
위의 명령들 외에도 다음과 같은 명령들이 있습니다.
- count - 디렉토리나 파일의 갯수 등의 정보 출력
- tail - 파일의 끝부분의 1KB에 해당하는 정보를 출력
- chmod - 파일이나 디렉토리의 권한 변경
- touchz - 0바이트 크기의 파일 생성
- stat - 디렉터리의 통계 정보 조회
- setrep - 복제되는 데이터의 개수 변경
- expunge - hdfs는 삭제한 파일을 휴지통에 넣게 되는데, 그 휴지통을 비우는 작업
참고자료
이 포스팅은 "시작하세요! 하둡 프로그래밍" 책의 예제를 무작정 따라해본 포스팅입니다.
'빅데이터 > 하둡' 카테고리의 다른 글
하둡 1.0 튜토리얼 - (8) 맵리듀스 (0) | 2019.07.14 |
---|---|
하둡 1.0 튜토리얼 - (7) HDFS 파일 입출력 (0) | 2019.07.14 |
하둡 1.0 튜토리얼 - (5) 하둡 실행 (5) | 2019.07.12 |
하둡 1.0 튜토리얼 - (4) 클러스터 구성 (0) | 2019.07.12 |
하둡 1.0 튜토리얼 - (3) 하둡 설치 (0) | 2019.07.12 |