大數據之HDFS命令行基本操作
阿新 • • 發佈:2018-09-14
strong 文件系統 bin文件 顯示文件 dir 安裝軟件 ont 應用 當前目錄 1、 課程簡介
- HDFS是Hadoop大數據平臺中的分布式文件系統,為上層應用或其他大數據組件提供數據存儲,如Hive,Mapreduce,Spark,HBase等。
- 本文章中所有命令均在CentOS-6.4-x86_64,hadoop-2.5.2,jdk1.8.0_152,zookeeper-3.4.11中運行通過,為減少linux權限對初學者造成影響,所有命令均在linux的root權限下進行操作。
2、理論回顧
- Hadoop技術本身包含HDFS、Map/Reduce。HDFS作海量數據存儲之用;M/R作海量數據計算之用。
- HDFS包含namenode、datanode。namenode對datanode中的數據建立了索引。
- zookeeper作為協調服務,為namenode提供了高可用性。
3、基本操作
? 註意:"# ./hdfs dfs -ls /"命令前的"#"代表當前登錄用戶是root。運行路徑位於hadoop目錄中的bin文件夾下。命令中的"."代表當前目錄。命令中涉及的info文件需要提前創建好。如下圖所示:
3.1 -ls 功能:顯示目錄信息。
# ./hdfs dfs -ls / drwxr-xr-x - root supergroup 0 2018-07-30 00:09 /hbase drwxr-xr-x - root supergroup 0 2018-06-23 15:22 /output drwx------ - root supergroup 0 2018-07-31 00:32 /tmp drwxr-xr-x - root supergroup 0 2018-07-31 00:41 /user -rw-r--r-- 2 root supergroup 77 2018-04-22 02:34 /wordcount
3.2 -mkdir 功能:在HDFS文件系統上創建目錄。
# ./hdfs dfs -mkdir /wanhe # ./hdfs dfs -ls / drwxr-xr-x - root supergroup 0 2018-07-30 00:09 /hbase drwxr-xr-x - root supergroup 0 2018-06-23 15:22 /output drwx------ - root supergroup 0 2018-07-31 00:32 /tmp drwxr-xr-x - root supergroup 0 2018-07-31 00:41 /user drwxr-xr-x - root supergroup 0 2018-09-12 18:00 /wanhe -rw-r--r-- 2 root supergroup 77 2018-04-22 02:34 /wordcount
3.3 -put 功能:上傳本地文件到HDFS指定目錄。
# ./hdfs dfs -put info /wanhe
# ./hdfs dfs -ls /wanhe
-rw-r--r-- 2 root supergroup 38 2018-09-12 18:10 /wanhe/info
3.4 -get 功能:從hdfs下載文件到本地。
# rm -rf info
# ls
container-executor hadoop hadoop.cmd hdfs hdfs.cmd mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
# ./hdfs dfs -get /wanhe/info ./
# ls
container-executor hadoop hadoop.cmd hdfs hdfs.cmd info mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
3.5 -rm 功能:從HDFS刪除文件。
# ./hdfs dfs -rm /wanhe/info
# ./hdfs dfs -ls /wanhe
空
3.6 -moveFromLocal 功能:剪切本地文件到HDFS
# ./hdfs dfs -moveFromLocal info /wanhe
# ./hdfs dfs -ls /wanhe
-rw-r--r-- 2 root supergroup 38 2018-09-12 22:04 /wanhe/info
# ls
container-executor hadoop hadoop.cmd hdfs hdfs.cmd mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
3.7 -cat 功能:顯示文件內容。
# ./hdfs dfs -cat /wanhe/info
jiangsuwanhe
3.8 -appendToFile 功能:在文件末尾追加數據。
# ./hdfs dfs -appendToFile info /wanhe/info
# ./hdfs dfs -cat /wanhe/info
jiangsuwanhe
jiangsuwanhe
3.9 -chmod 功能:更改文件所屬權限。
# ./hdfs dfs -ls /wanhe
-rw-r--r-- 2 root supergroup 51 2018-09-12 22:13 /wanhe/info
# ./hdfs dfs -chmod 777 /wanhe/info
# ./hdfs dfs -ls /wanhe
-rwxrwxrwx 2 root supergroup 51 2018-09-12 22:13 /wanhe/info
3.10 -cp 功能:實現文件的拷貝。
將/wanhe/info拷貝到/tmp下:
# ./hdfs dfs -cp /wanhe/info /tmp/
# ./hdfs dfs -ls /tmp
-rw-r--r-- 2 root supergroup 51 2018-09-12 22:20 /tmp/info
3.11 -mv 功能:移動文件。
將/wanhe/info移動到 /user下
# ./hdfs dfs -mv /wanhe/info /user/
# ./hdfs dfs -ls /wanhe
空
# ./hdfs dfs -ls /user
-rwxrwxrwx 2 root supergroup 51 2018-09-12 22:13 /user/info
3.12 -df 功能:統計文件系統的可用空間信息。
# ./hdfs dfs -df -h /
Filesystem Size Used Available Use%
hdfs://master:9000 17.5 G 352 K 11.4 G 0%
3.13 -du 功能:統計文件夾的大小信息。
# ./hdfs dfs -du /user
51 /user/info
3.14 -count 功能: 統計一個指定目錄下的文件數量。
# ./hdfs dfs -count /user
2 1 51 /user
第一列2表示/user/下文件夾的數量,第二列1表示/user/下文件的個數。51表示/user/目錄下所有文件占用的磁盤容量(不計算副本個數)。
4、總結
? HDFS中的命令行操作類似於linux命令,熟練使用linux命令便可以熟練的使用命令行操作HDFS。後面我們將連載大數據系列博客,歡迎關註和交流。
? 本文中所有安裝軟件等更多福利請入群後向管理員獲取。
QQ群號:560819979
敲門磚(驗證信息):信天遊
大數據之HDFS命令行基本操作