溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)之HDFS命令行基本操作

發(fā)布時(shí)間:2020-07-27 18:27:38 來(lái)源:網(wǎng)絡(luò) 閱讀:1212 作者:萬(wàn)和IT教育 欄目:大數(shù)據(jù)

1、 課程簡(jiǎn)介

  • HDFS是Hadoop大數(shù)據(jù)平臺(tái)中的分布式文件系統(tǒng),為上層應(yīng)用或其他大數(shù)據(jù)組件提供數(shù)據(jù)存儲(chǔ),如Hive,Mapreduce,Spark,HBase等。
  • 本文章中所有命令均在CentOS-6.4-x86_64,hadoop-2.5.2,jdk1.8.0_152,zookeeper-3.4.11中運(yùn)行通過(guò),為減少linux權(quán)限對(duì)初學(xué)者造成影響,所有命令均在linux的root權(quán)限下進(jìn)行操作。

2、理論回顧

  • Hadoop技術(shù)本身包含HDFS、Map/Reduce。HDFS作海量數(shù)據(jù)存儲(chǔ)之用;M/R作海量數(shù)據(jù)計(jì)算之用。
  • HDFS包含namenode、datanode。namenode對(duì)datanode中的數(shù)據(jù)建立了索引。
  • zookeeper作為協(xié)調(diào)服務(wù),為namenode提供了高可用性。

3、基本操作

? 注意:"# ./hdfs dfs -ls /"命令前的"#"代表當(dāng)前登錄用戶是root。運(yùn)行路徑位于hadoop目錄中的bin文件夾下。命令中的"."代表當(dāng)前目錄。命令中涉及的info文件需要提前創(chuàng)建好。如下圖所示:

大數(shù)據(jù)之HDFS命令行基本操作

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文件系統(tǒng)上創(chuàng)建目錄。

# ./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 功能:顯示文件內(nèi)容。

 # ./hdfs dfs -cat /wanhe/info
 jiangsuwanhe

3.8 -appendToFile 功能:在文件末尾追加數(shù)據(jù)。

 # ./hdfs dfs -appendToFile info /wanhe/info
 # ./hdfs dfs -cat /wanhe/info
 jiangsuwanhe
 jiangsuwanhe

3.9 -chmod 功能:更改文件所屬權(quán)限。

# ./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 功能:實(shí)現(xiàn)文件的拷貝。

將/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 功能:移動(dòng)文件。

將/wanhe/info移動(dòng)到 /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 功能:統(tǒng)計(jì)文件系統(tǒng)的可用空間信息。

# ./hdfs dfs -df -h /
Filesystem            Size   Used  Available  Use%
hdfs://master:9000  17.5 G  352 K     11.4 G    0%

3.13 -du 功能:統(tǒng)計(jì)文件夾的大小信息。

# ./hdfs dfs -du /user
51  /user/info

3.14 -count 功能: 統(tǒng)計(jì)一個(gè)指定目錄下的文件數(shù)量。

# ./hdfs dfs -count /user
 2            1                 51 /user
 第一列2表示/user/下文件夾的數(shù)量,第二列1表示/user/下文件的個(gè)數(shù)。51表示/user/目錄下所有文件占用的磁盤容量(不計(jì)算副本個(gè)數(shù))。

4、總結(jié)

? HDFS中的命令行操作類似于linux命令,熟練使用linux命令便可以熟練的使用命令行操作HDFS。后面我們將連載大數(shù)據(jù)系列博客,歡迎關(guān)注和交流。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI