Hadoop:
https://blog.csdn.net/mulangren1988/article/details/54860924
Hadoop:
1. Hadoop fs –fs [local | <file system URI>]: 列出在指定目錄下的文件內容,支持pattern匹配。輸出格式如filename(full path) <r n> size. 其中n代表replica的個數,size代表大小(單位bytes)。 2. hadoop fs –ls <path> 遞歸列出匹配pattern的文件信息,類似ls,只不過遞歸列出所有子目錄信息。 3. hadoop fs –lsr <path>: 列出匹配pattern的指定的文件系統空間總量(單位bytes),等價於unix下的針對目錄的du –sb <path>/*和針對文件的du –b <path> ,輸出格式如name(full path) size(in bytes)。 4. hadoop fs –du <path> 等價於-du,輸出格式也相同,只不過等價於unix的du -sb。 5. hadoop fs –dus <path> 將制定格式的文件 move到指定的目標位置。當src為多個文件時,dst必須是個目錄。 6. hadoop fs –mv <src> <dst> 拷貝文件到目標位置,當src為多個文件時,dst必須是個目錄。 7. hadoop fs –cp <src> <dst> 刪除匹配pattern的指定文件,等價於unix下的rm <src> 8. hadoop fs –rm [-skipTrash] <src> 遞歸刪掉所有的文件和目錄,等價於unix下的rm –rf <src> 9. hadoop fs –rmr [skipTrash] <src> 等價於unix的rm –rfi <src> 10. hadoop fs –rmi [skipTrash] <src> 從本地系統拷貝文件到DFS 11. hadoop fs –put <localsrc> … <dst> 等價於-put 12. hadoop fs –copyFromLocal <localsrc> … <dst> 等同於-put,只不過源文件在拷貝后被刪除 13. hadoop fs –moveFromLocal <localsrc> … <dst> 從DFS拷貝文件到本地文件系統,文件匹配pattern,若是多個文件,則dst必須是目錄 14. hadoop fs –get [-ignoreCrc] [-crc] <src> <localdst> 顧名思義,從DFS拷貝多個文件、合並排序為一個文件到本地文件系統 15. hadoop fs –getmerge <src> <localdst> 輸出文件內容 16. hadoop fs –cat <src> 等價於-get 17. hadoop fs –copyToLocal [-ignoreCrc] [-crc] <src> <localdst> 在指定位置創建目錄 18. hadoop fs –mkdir <path> 設置文件的備份級別,-R標志控制是否遞歸設置子目錄及文件 19. hadoop fs –setrep [-R] [-w] <rep> <path/file> 修改文件的權限,-R標記遞歸修改。MODE為a+r,g-w,+rwx等,OCTALMODE為755這樣 20. hadoop fs –chmod [-R] <MODE[,MODE]…|OCTALMODE> PATH… 修改文件的所有者和組。-R表示遞歸 21. hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH… 等價於-chown … :GROUP … 22. hadoop fs -chgrp [-R] GROUP PATH… 計數文件個數及所占空間的詳情,輸出表格的列的含義依次為:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的話,還會列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA 23. hadoop fs –count[-q] <path>
2.1 創建目錄命令: hdfs dfs -mkdir <paths> [hadoop@hadoop002 hadoop]$ hdfs dfs -mkdir /20180523 [hadoop@hadoop002 hadoop]$
2.2.列出目錄的內容命令: hdfs dfs -ls <paths>
[hadoop@hadoop002 hadoop]$ hdfs dfs -ls /
Found 5 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:48 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 hadoop]$
2.3 在HDFS中上傳文件: hdfs dfs -put <local_files> ... <hdfs_path>
[hadoop@hadoop002 hadoop]$ cd ~
[hadoop@hadoop002 ~]$ ll
total 4
-rw-rw-r--. 1 hadoop hadoop 0 May 21 17:09 authorized_key
-rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
[hadoop@hadoop002 ~]$ hdfs dfs -put gw_test.log3 /gw_test.log4
Found 6 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:48 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /gw_test.log4
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
2.4 從HDFS下載文件:hdfs dfs -get <hdfs_paths> <local_path>
[hadoop@hadoop002 ~]$ ll
total 4
-rw-rw-r--. 1 hadoop hadoop 0 May 21 17:09 authorized_key
-rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
[hadoop@hadoop002 ~]$ hdfs dfs -get /gw_test.log4
[hadoop@hadoop002 ~]$ ll
total 8
-rw-rw-r--. 1 hadoop hadoop 0 May 21 17:09 authorized_key
-rw-r--r--. 1 hadoop hadoop 25 May 23 12:17 gw_test.log3
-rw-r--r--. 1 hadoop hadoop 25 May 23 14:52 gw_test.log4
2.5 查看文件內容:hdfs dfs -cat <paths>
[hadoop@hadoop002 ~]$ hdfs dfs -cat /gw_test.log4
1111
2222
3333
4444
5555
[hadoop@hadoop002 ~]$
2.6 復制文件命令:hdfs dfs -cp <source_path> ... <destination_path>
[hadoop@hadoop002 ~]$ hdfs dfs -cp /gw_test.log3 /20180523
Found 1 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:55 /20180523/gw_test.log3
[hadoop@hadoop002 ~]$
2.7 將文件從源移動到目標命令: hdfs dfs -mv <source_path> <destination_path>
[hadoop@hadoop002 ~]$ hdfs dfs -ls /
Found 6 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:55 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /gw_test.log4
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 ~]$ hdfs dfs -mv /gw_test.log4 /20180523
[hadoop@hadoop002 ~]$ hdfs dfs -ls /
Found 5 items
drwxr-xr-x - hadoop supergroup 0 2018-05-23 14:57 /20180523
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
Found 2 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:55 /20180523/gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /20180523/gw_test.log4
[hadoop@hadoop002 ~]$
Deleted /20180523
Found 4 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 13:04 /gw_test.log3
drwxr-xr-x - root root 0 2018-05-23 13:16 /root
drwx------ - hadoop supergroup 0 2018-05-22 11:23 /tmp
drwxr-xr-x - hadoop supergroup 0 2018-05-22 11:22 /user
[hadoop@hadoop002 ~]$
2.8 從HDFS中刪除文件或目錄命令:
hdfs dfs -rm <path> -- 刪除文件
hdfs dfs -rm -r <path> -- 刪除目錄
[hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
Found 2 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:55 /20180523/gw_test.log3
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /20180523/gw_test.log4
[hadoop@hadoop002 ~]$ hdfs dfs -rm /20180523/gw_test.log3
Deleted /20180523/gw_test.log3
[hadoop@hadoop002 ~]$ hdfs dfs -ls /20180523
Found 1 items
-rw-r--r-- 1 hadoop supergroup 25 2018-05-23 14:50 /20180523/gw_test.log4
[hadoop@hadoop002 ~]$
2.9 顯示文件的尾部命令:hdfs dfs -tail <path>
[hadoop@hadoop002 ~]$ hdfs dfs -tail /gw_test.log3
1111
2222
3333
4444
5555
[hadoop@hadoop002 ~]$
2.10 顯示特定文件的總長度命令: hdfs dfs -du <path>
[hadoop@hadoop002 ~]$ hdfs dfs -du /gw_test.log3
25 /gw_test.log3
[hadoop@hadoop002 ~]$
2.11 計數目錄和文件命令: hdfs dfs -count <path>
[hadoop@hadoop002 ~]$ hdfs dfs -count /gw_test.log3
0 1 25 /gw_test.log3
2.12 文件系統中的空間的詳細信息命名: hdfs dfs -df <path>
[hadoop@hadoop002 ~]$ hdfs dfs -df /
Filesystem Size Used Available Use%
hdfs://hadoop002:9000 40028807168 704512 30802395136 0%
[hadoop@hadoop002 ~]$
1. 單獨啟動和關閉hadoop服務
啟動名稱節點
#hadoop-daemon.sh start namenode
啟動數據節點
#hadoop-daemons.sh start datanode slave
啟動secondarynamenode
#hadoop-daemon.sh start secondarynamenode
啟動resourcemanager
#yarn-daemon.sh start resourcemanager
啟動nodemanager
#bin/yarn-daemons.sh start nodemanager
停止數據節點
#hadoop-daemons.sh stop datanode
HDFS:
2. 常用的命令
創建目錄
#hdfs dfs -mkdir /input
創建文件
#hdfs dfs -touchz 文件名
查看
#hdfs dfs -ls
遞歸查看
#hdfs dfs ls -R
上傳
#hdfs dfs -put
下載
#hdfs dfs -get
刪除
#hdfs dfs -rm
從本地剪切粘貼到hdfs
#hdfs fs -moveFromLocal /input/xx.txt /input/xx.txt
從hdfs剪切粘貼到本地
#hdfs fs -moveToLocal /input/xx.txt /input/xx.txt
追加一個文件到另一個文件到末尾
#hdfs fs -appedToFile ./hello.txt /input/hello.txt
查看文件內容
#hdfs fs -cat /input/hello.txt
顯示一個文件到末尾
#hdfs fs -tail /input/hello.txt
以字符串的形式打印文件的內容
#hdfs fs -text /input/hello.txt
修改文件權限
#hdfs fs -chmod 666 /input/hello.txt
修改文件所屬
#hdfs fs -chown ruoze.ruoze /input/hello.txt
從本地文件系統拷貝到hdfs里
#hdfs fs -copyFromLocal /input/hello.txt /input/
從hdfs拷貝到本地
#hdfs fs -copyToLocal /input/hello.txt /input/
從hdfs到一個路徑拷貝到另一個路徑
#hdfs fs -cp /input/xx.txt /output/xx.txt
從hdfs到一個路徑移動到另一個路徑
#hdfs fs -mv /input/xx.txt /output/xx.txt
統計文件系統的可用空間信息
#hdfs fs -df -h /
統計文件夾的大小信息
#hdfs fs -du -s -h /
統計一個指定目錄下的文件節點數量
#hadoop fs -count /aaa
使用hdfs有時候需要統計文件行數和文件的大小
1.hdfs下載文件夾中多個文件
hadoop fs -get /目錄 目錄
2.統計多個文件行數
hadoop fs -cat /文件* | wc -l
3.統計文件大小
hadoop fs -count /文件*
設置hdfs的文件副本數量
#hadoop fs -setrep 3 /input/xx.txt