hadoop-3.0.0-beta1運維手冊(007):hdfs3.0.0基本操作-上傳、下載、刪除文件或目錄

寫在前面的話

Hdfs採用分佈式架構,爲上層的應用和用戶提供可擴展、高吞吐、高可靠的數據存儲服務。在整個Hadoop生態系統中,hdfs處於最底層,也是最無可替代的一個基礎設施。從2008hadoop-0.10.1版本開始到現在的hadoop-3.0.0-beta1hdfs已經走過了近10個年頭,其架構和功能特性也發生了巨大的變化。特別是hdfs3.0.0系列,和hdfs2.x相比,增加了基於糾刪碼(erasure encoding)的容錯方式,與傳統的副本方式相比,在同等可用性的情況下, 能大幅節省一半以上的空間,這也是自hdfs誕生近這十年來,數據可靠性機制上的一個重大變化(之前一直都是副本容錯方式)。此外hdfs3.0.0還增加了其它的一些特性,例如在Namenode HA中支持3Namenode,可以容忍2Namenode失效,而hdfs2.x只能容忍1Namenode失效。

本文以連載的方式,在大數據學習網”上記錄自己使用hadoop-3.0.0-beta1hdfs的點點滴滴,包括從零開始搭建分佈式hdfs3.0,如何動態擴展hdfs節點、如何使用hdfs3.0的糾刪碼容錯等等。不當之處,請大家發郵件aishuc@126com給艾叔,謝謝!

 

4.1 查看目錄內容

例子,查看hdfs的根目錄內容,綠色部分表示要查看的路徑

[user@nn1 ~]$ hdfs dfs -ls /

 

4.2 上傳文件

例子,將/etc/profile上傳到hdfs的根目錄下,並驗證。

注意

1. file:///etc/profilefile://表示本地文件系統,/etc/profile是本地文件的路徑。

2. 後面的/,表示的是hdfs的根目錄,因爲core-site.xml中配置了默認的文件系統是hdfs://nn1:9001

[user@nn1 ~]$ hdfs dfs -cp file:///etc/profile /

[user@nn1 ~]$ hdfs dfs -ls /

Found 1 items

-rw-r--r--   3 user supergroup       1872 2017-11-27 14:45 /profile

 

4.3 上傳目錄

例子,將hadoop配置文件目錄上傳到hdfs的根目錄下,並驗證。

[user@nn1 ~]$ hdfs dfs -cp file:///home/user/hadoop-3.0.0-beta1/etc/hadoop/ /

[user@nn1 ~]$ hdfs dfs -ls /

Found 2 items

drwxr-xr-x   - user supergroup          0 2017-11-27 14:49 /hadoop

-rw-r--r--   3 user supergroup       1872 2017-11-27 14:45 /profile

[user@nn1 ~]$ hdfs dfs -ls /hadoop

Found 31 items

-rw-r--r--   3 user supergroup       7861 2017-11-27 14:49 /hadoop/capacity-scheduler.xml

-rw-r--r--   3 user supergroup       1335 2017-11-27 14:49 /hadoop/configuration.xsl

注意

1. file:///home/user/hadoop-3.0.0-beta1/etc/hadoop/ 是源路徑,它和後面的/之間有一個空格

2. 後面的/,表示hdfs的根目錄

3. 上傳文件和上傳目錄的用法一樣,並不需要增加-r選項

4.4 下載文件

例子,將剛上傳的profile下載到本地/tmp目錄下

[user@nn1 ~]$ hdfs dfs -cp /profile file:///tmp/

[user@nn1 ~]$ ls -l /tmp/profile

-rw-r--r--. 1 user user 1872 Nov 27 15:02 /tmp/profile

注意

1. 上傳和下載其實就是對調一下hdfs和本地路徑,我們只需要清楚:本地路徑前面要加file://,而hdfs直接用就可以了;

2. 如果在core-site.xml中配置默認文件系統爲file://,那麼/表示的就是本地文件系統的根目錄,如果要訪問hdfs,則要使用hdfs://nn1:9001/後面再跟路徑。

 

4.5 下載目錄

例子,下載hdfs中的/hadoop/tmp目錄下

[user@nn1 ~]$ hdfs dfs -cp /hadoop file:///tmp/

[user@nn1 ~]$ ls -l /tmp/

total 28

drwxr-xr-x. 3 user user 4096 Nov 27 15:05 hadoop

注意:複製目錄和複製文件用法完全一樣。

 

4.6 刪除文件

刪除剛上傳的profile

[user@nn1 ~]$ hdfs dfs -rm /profile

Deleted /profile

[user@nn1 ~]$ hdfs dfs -ls /

Found 1 items

drwxr-xr-x   - user supergroup          0 2017-11-27 14:49 /hadoop

 

4.7 刪除目錄

刪除剛上傳的hadoop目錄

[user@nn1 ~]$ hdfs dfs -rm -r /hadoop

Deleted /hadoop

[user@nn1 ~]$ hdfs dfs -ls /

注意:刪除目錄多了一個選項-r

 

上一篇:hadoop-3.0.0-beta1運維手冊(006):hdfs3.0.0分佈式構建-啓動hdfs》

原創文章,轉載請註明: 轉載自大�����據學習網,作者:艾叔

本文鏈接地址http://www.bigdatastudy.net/show.aspx?id=454&cid=8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章