IT 꿈나무의 일상

Hadoop 완전분산모드로 설치하기 (3) - hadoop 사용법 본문

IT 관련

Hadoop 완전분산모드로 설치하기 (3) - hadoop 사용법

viera 2021. 8. 13. 18:34
반응형

# 하둡을 설치 하였으니 이번 글은 하둡명령어를 통해 하둡 사용을 해보겠습니다. 

 

1. 파일 목록 조회 : hadoop fs -ls /user/

  • ls 명령어를 통해 하둡 디렉토리에 존재하는 파일을 확인 할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -ls /
21/07/02 18:28:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 5 items
drwxrwxr-x   - Hadoop supergroup          0 2021-05-26 16:10 /viera
drwxrwxr-x   - root   supergroup          0 2021-07-01 18:44 /user
-rw-r--r--   1 root   supergroup       3428 2021-06-01 14:09 /user.xlsx

 

 

2. 텍스트 형식으로 읽기 : hadoop fs -text /user/file.txt

  • text 명령어를 통해 이미 하둡내 업로드 되어있는 파일을 텍스트 형식으로 읽을 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -text /user/viera/t1.txt
21/07/02 18:32:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
id,name
1,a
2,b
3,c

 

3. 파일 읽기 : hadoop fs -cat /user/file.txt 

  • text 명령어와 마찬가지로 cat 명령어로 해당 파일의 내용을 읽을 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -cat /user/viera/t1.txt 
21/07/02 18:32:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
id,name
1,a
2,b
3,c

 

4. 디렉토리 생성 : hadoop fs -mkdir /user/folder

  • mkdir 명령어를 통해 하둡 디렉토리를 생성할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -mkdir /user/viera2
[Hadoop@viera ~]$ hdfs dfs -ls /user/   
21/07/02 18:30:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items

drwxrwxr-x   - Hadoop supergroup          0 2021-06-30 14:54 /user/viera
drwxr-xr-x   - Hadoop supergroup          0 2021-07-02 18:30 /user/viera2

 

5. 파일 복사 : hadoop fs -cp /user/data1.txt /user/data2.txt

  •  cp 명령어를 통해 파일을 다른 디렉토리로 복사할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -cp /user/viera/t1.txt /user/viera2/t2.txt
21/07/02 18:33:08 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[Hadoop@viera ~]$ hdfs dfs -ls /user/viera2/ 
21/07/02 18:33:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
-rw-r--r--   1 Hadoop supergroup         20 2021-07-02 18:33 /user/viera2/t2.txt

 

6. 파일 이동 : hadoop fs -mv /user/data1.txt /user/data2.txt

  • mv 명령어를 통해 파일을 다른 곳으로 이동시키거나 같은 디렉토리일 경우 이름을 변경할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -mv /user/viera/t1.txt /user/viera2/t3.txt
21/07/02 18:34:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[Hadoop@viera ~]$ hdfs dfs -ls /user/viera2/                         
21/07/02 18:34:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rw-r--r--   1 Hadoop supergroup         20 2021-07-02 18:33 /user/viera2/t2.txt
-rw-r--r--   1 Hadoop supergroup         20 2021-06-11 13:42 /user/viera2/t3.txt

 

7. 파일 로컬에 복사 : hadoop fs -get /user/data1.txt ./

  • get 명령어를 통해 하둡에 존재하는 파일을 로컬로 다운받을 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -get /user/viera2/t2.txt ./ 
21/07/02 18:36:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[Hadoop@viera ~]$ ls
t2.txt

 

8. 로컬파일을 하둡에 복사 : hadoop fs -put ./data1.txt /user/

  • put 명령어를 통해 로컬에 존재하는 파일을 하둡에 업로드 할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -put null.xlsx  /user/viera2/
21/07/02 18:37:19 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[Hadoop@viera ~]$ hdfs dfs -ls /user/viera2/
21/07/02 18:37:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 3 items
-rw-r--r--   1 Hadoop supergroup       3420 2021-07-02 18:37 /user/viera2/null.xlsx
-rw-r--r--   1 Hadoop supergroup         20 2021-07-02 18:33 /user/viera2/t2.txt
-rw-r--r--   1 Hadoop supergroup         20 2021-06-11 13:42 /user/viera2/t3.txt

 

9. 하둡파일 삭제 : hadoop fs -rm /user/data1.txt

  • rm 명령어를 통해 하둡에 존재하는 파일을 삭제 할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -rm /user/viera2/null.xlsx
21/07/02 18:38:09 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Deleted /user/viera2/null.xlsx
[Hadoop@viera ~]$ hdfs dfs -ls /user/viera2/         
21/07/02 18:38:14 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rw-r--r--   1 Hadoop supergroup         20 2021-07-02 18:33 /user/viera2/t2.txt
-rw-r--r--   1 Hadoop supergroup         20 2021-06-11 13:42 /user/viera2/t3.txt

10. 운영자 커맨드 : hdfs balancer or hadoop balancer

[Hadoop@viera ~]$ hdfs balancer
21/07/02 18:39:23 INFO balancer.Balancer: namenodes  = [hdfs://hyperM:9500]
21/07/02 18:39:23 INFO balancer.Balancer: parameters = Balancer.BalancerParameters [BalancingPolicy.Node, threshold = 10.0, max idle iteration = 5, #excluded nodes = 0, #included nodes = 0, #source nodes = 0, #blockpools = 0, run during upgrade = false]
21/07/02 18:39:23 INFO balancer.Balancer: included nodes = []
21/07/02 18:39:23 INFO balancer.Balancer: excluded nodes = []
21/07/02 18:39:23 INFO balancer.Balancer: source nodes = []
Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved
21/07/02 18:39:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
21/07/02 18:39:24 INFO balancer.Balancer: dfs.balancer.movedWinWidth = 5400000 (default=5400000)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.balancer.moverThreads = 1000 (default=1000)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.balancer.dispatcherThreads = 200 (default=200)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.datanode.balance.max.concurrent.moves = 50 (default=50)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.balancer.getBlocks.size = 2147483648 (default=2147483648)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.balancer.getBlocks.min-block-size = 10485760 (default=10485760)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.balancer.max-size-to-move = 10737418240 (default=10737418240)
21/07/02 18:39:24 INFO balancer.Balancer: dfs.blocksize = 134217728 (default=134217728)
21/07/02 18:39:24 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.179.46:50010
21/07/02 18:39:24 INFO balancer.Balancer: 0 over-utilized: []
21/07/02 18:39:24 INFO balancer.Balancer: 0 underutilized: []
The cluster is balanced. Exiting...
2021. 7. 2 오후 6:39:24             0                  0 B                 0 B                0 B
2021. 7. 2 오후 6:39:24    Balancing took 663.0 milliseconds

 

11. 권한 변경 : hadoop dfs -chmod -R 777 /viera (-R 은 하위 폴더까지 모두 변경)

  • chmod 명령어를 통해 디렉토리나 파일의 권한을 변경할 수 있습니다.
[Hadoop@viera ~]$ hdfs dfs -chmod -R 777  /user/viera2/
21/07/02 18:40:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[Hadoop@viera ~]$ hdfs dfs -ls /user/viera2/           
21/07/02 18:40:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rwxrwxrwx   1 Hadoop supergroup         20 2021-07-02 18:33 /user/viera2/t2.txt
-rwxrwxrwx   1 Hadoop supergroup         20 2021-06-11 13:42 /user/viera2/t3.txt
반응형
Comments