2장. HDFS 쉘명령어

1. 파일목록 확인
[hduser@hdstudy01 hadoop]$ hadoop fs -ls
Found 1 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
[hduser@hdstudy01 hadoop]$ hadoop fs -lsr
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
-rw-r--r--   1 hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output/_SUCCESS
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:16 /user/hduser/wordcount_output/_logs
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:16 /user/hduser/wordcount_output/_logs/history
-rw-r--r--   1 hduser supergroup      13755 2017-06-09 15:16 /user/hduser/wordcount_output/_logs/history/job_201706091514_0001_1496989002626_hduser_word+count
-rw-r--r--   1 hduser supergroup      49664 2017-06-09 15:16 /user/hduser/wordcount_output/_logs/history/job_201706091514_0001_conf.xml
-rw-r--r--   1 hduser supergroup       2367 2017-06-09 15:16 /user/hduser/wordcount_output/part-r-00000

2. 파일용량 확인
[hduser@hdstudy01 hadoop]$ hadoop fs -du
Found 1 items
65786       hdfs://hdstudy01:9000/user/hduser/wordcount_output
[hduser@hdstudy01 hadoop]$ hadoop fs -dus
hdfs://hdstudy01:9000/user/hduser       65786
[hduser@hdstudy01 hadoop]$ hadoop fs -du wordcount_output
Found 3 items
0           hdfs://hdstudy01:9000/user/hduser/wordcount_output/_SUCCESS
63419       hdfs://hdstudy01:9000/user/hduser/wordcount_output/_logs
2367        hdfs://hdstudy01:9000/user/hduser/wordcount_output/part-r-00000

3. 파일내용 출력
[hduser@hdstudy01 ~]$ hadoop fs -cat wordcount_output/part-r-00000

[hduser@hdstudy01 ~]$ hadoop fs -text wordcount_output/part-r-00000

4. 디렉토리 생성
[hduser@hdstudy01 ~]$ hadoop fs -mkdir test1
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 2 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 19:08 /user/hduser/test1
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output

5. 업로드. 두가지는 동일함
[hduser@hdstudy01 ~]$ hadoop fs -put wordcount_output test1
[hduser@hdstudy01 ~]$ hadoop fs -copyFromLocal wordcount_output test1


6. 다운로드
[hduser@hdstudy01 ~]$ hadoop fs -get wordcount_output/part-r-00000 test1
[hduser@hdstudy01 ~]$ hadoop fs -copyToLocal wordcount_output/part-r-00000 test1
※ 2가지 동일

7. 디렉토리 다운로드
[hduser@hdstudy01 ~]$ hadoop fs -get wordcount_output wordcount_output2
[hduser@hdstudy01 ~]$ ll
합계 62600
lrwxrwxrwx.  1 hduser hduser       15 2017-06-09 14:41 hadoop -> ./hadoop-1.2.1/
drwxr-xr-x. 17 hduser hduser     4096 2017-06-09 15:14 hadoop-1.2.1
drwxrwxr-x.  4 hduser hduser     4096 2017-06-09 15:17 hadoop-data
-rw-rw-r--.  1 hduser hduser 64039798 2017-06-09 15:10 hadoop.tar.gz
-rw-rw-r--.  1 hduser hduser     2367 2017-06-09 19:12 test1
drwxrwxr-x.  3 hduser hduser     4096 2017-06-09 19:13 wordcount_output2
[hduser@hdstudy01 ~]$ ll wordcount_output2
합계 8
-rw-rw-r--. 1 hduser hduser    0 2017-06-09 19:13 _SUCCESS
drwxrwxr-x. 3 hduser hduser 4096 2017-06-09 19:13 _logs
-rw-rw-r--. 1 hduser hduser 2367 2017-06-09 19:13 part-r-00000


8. 하나의 파일로 병합해서 다운
[hduser@hdstudy01 ~]$ hadoop fs -getmerge wordcount_output/_logs/history wordcount_logs
17/06/09 19:15:44 INFO util.NativeCodeLoader: Loaded the native-hadoop library
[hduser@hdstudy01 ~]$ ll
합계 62664
lrwxrwxrwx.  1 hduser hduser       15 2017-06-09 14:41 hadoop -> ./hadoop-1.2.1/
drwxr-xr-x. 17 hduser hduser     4096 2017-06-09 15:14 hadoop-1.2.1
drwxrwxr-x.  4 hduser hduser     4096 2017-06-09 15:17 hadoop-data
-rw-rw-r--.  1 hduser hduser     2367 2017-06-09 19:12 test1
-rwxrwxrwx.  1 hduser hduser    63419 2017-06-09 19:15 wordcount_logs
drwxrwxr-x.  3 hduser hduser     4096 2017-06-09 19:13 wordcount_output2


9. 복사하기
[hduser@hdstudy01 ~]$ hadoop fs -cp conf/haddop-enc.sh conf/hadoop-env.bk

10. HDFS간 파일이동/이름변경
[hduser@hdstudy01 ~]$ hadoop fs -mv test1 test2
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 2 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 19:08 /user/hduser/test2
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output

11. 로컬->HDFS로 이동
※ put명령어와 유사
[hduser@hdstudy01 ~]$ hadoop fs -moveFromLocal test1 test3
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 3 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 19:08 /user/hduser/test2
-rw-r--r--   1 hduser supergroup       2367 2017-06-09 19:23 /user/hduser/test3
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
[hduser@hdstudy01 ~]$

12. 삭제명령
[hduser@hdstudy01 ~]$ hadoop fs -rm test2
rm: Cannot remove directory "hdfs://hdstudy01:9000/user/hduser/test2", use -rmr instead
※ 비어있지 않으면 삭제 안됨
[hduser@hdstudy01 ~]$ hadoop fs -rmr test2
Deleted hdfs://hdstudy01:9000/user/hduser/test2
[hduser@hdstudy01 ~]$ hadoop fs -rmr test*
Deleted hdfs://hdstudy01:9000/user/hduser/test3
※ 비어있지 않아도 삭제가능

13. 디렉토리 생성 파일개수/파일용량 제한
[hduser@hdstudy01 ~]$ hadoop fs -count wordcount_output
           3            4              65786 hdfs://hdstudy01:9000/user/hduser/wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -count -q wordcount_output
        none             inf            none             inf            3            4              65786 hdfs://hdstudy01:9000/user/hduser/wordcount_output

14. 파일의 마지막 부분 확인
[hduser@hdstudy01 ~]$ hadoop fs -tail wordcount_output/part-r-00000
※ 마지막 2KB 를 확인, -f 옵션시 갱신될때마다 출력

15. 허가권 변경
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -chmod 777 wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
drwxrwxrwx   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -chmod a-rwx wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
d---------   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output

16. 소유권 변경
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -chown testuser:testusergroup wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
drwxr-xr-x   - testuser testusergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output

17. 소속그룹 변경
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -chgrp usergroup wordcount_output
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 1 items
drwxr-xr-x   - hduser usergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output

18. 빈파일 생성
[hduser@hdstudy01 ~]$ hadoop fs -touchz newFile
[hduser@hdstudy01 ~]$ hadoop fs -ls
Found 2 items
-rw-r--r--   1 hduser supergroup          0 2017-06-09 19:45 /user/hduser/newFile
drwxr-xr-x   - hduser supergroup          0 2017-06-09 15:17 /user/hduser/wordcount_output

19. 통계정보 조회
%b : 블록단위 파일 크기
%n : 디렉토리/파일명
%o : 블록 크기
%r : 복제된 파일 개수
%y : 디렉토리 및 파일 갱신일자 연, 월, 일, 시, 분, 초 형식으로 출력
%Y : 디렉토리 및 파일 갱신일자를 유닉스 Time Stamp 형식 출력

[hduser@hdstudy01 ~]$ hadoop fs -stat %b-%n-%o"  "%r" "%y" "%Y wordcount_output
0-wordcount_output-0  0 2017-06-09 06:17:03 1496989023005

20. 설정파일의 복제데이터 개수 설정
[hduser@hdstudy01 ~]$ hadoop fs -setrep -w 1 wordcount_output/part-r-00000
Replication 1 set: hdfs://hdstudy01:9000/user/hduser/wordcount_output/part-r-00000
Waiting for hdfs://hdstudy01:9000/user/hduser/wordcount_output/part-r-00000 ... done
[hduser@hdstudy01 ~]$ hadoop fs -stat %r wordcount_output/part-r-00000
1

21. 파일형식 확인
[hduser@hdstudy01 ~]$ hadoop fs -test -e wordcount_output/part-r-00000
※제대로 동작하지 않음. 알아두기만 하기 바람.

22. 휴지통비우기
[hduser@hdstudy01 ~]$ hadoop fs -expunge

댓글

가장 많이 본 글