通過shell命令來控制hdfs

來源:互聯網
上載者:User

1. hadoop檔案系統許可權簡介

2.命令簡介 

3. 參考資料 

<1>. hadoop檔案系統許可權簡介  

hadoop檔案系統實現的檔案許可權模型和posix模型極其類似。每個檔案和目錄和一個owner和group相關聯。可以使用下面的命令來查看/tmp/目錄下的所有檔案及其許可權:

xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -ls /tmp/11/05/10 06:42:56 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=30000011/05/10 06:42:56 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.idFound 2 itemsdrwxr-xr-x   - root    supergroup          0 2011-05-10 05:36 /tmp/hadoop-root-rw-r--r--   3 xuqiang supergroup        541 2011-05-10 06:14 /tmp/hello.c

其中對於檔案而言,r表明的是讀取該檔案的許可權,w是寫該檔案的許可權;對於目錄而言的話,r許可權表明的是能夠讀取該目錄下的檔案清單,w許可權表明的是能夠在目錄下建立或者是刪除檔案和目錄,x許可權表示能夠從該目錄進入其子目錄中。和posix模型不同的是,在hdfs中是不存在所謂的sticky,setuid和setgid。

<2>. 命令簡介

hdfs設計之處的主要目的是對海量資料進行處理,也就是說在其上能夠儲存很大量檔案(可以儲存TB級的檔案),hdfs將這些檔案分割之後,儲存在不同的DataNode上,但是對外卻提供了一個簡單的事實:

這還是個簡單完整的檔案,只不過這個檔案比較大。

hdfs處理檔案的命令和linux上命令基本上是相同的,鍵入./bin/hadoop fs將輸出能夠支援的命令的列表:

Usage: java FsShell           [-ls <path>]           [-lsr <path>]           [-df [<path>]]           [-du [-s] [-h] <path>]           [-dus <path>]                    [-count[-q] <path>]              [-mv <src> <dst>]                [-cp <src> <dst>]                [-rm [-skipTrash] <path>]           [-rmr [-skipTrash] <path>]           [-expunge]                           [-put <localsrc> ... <dst>]           [-copyFromLocal <localsrc> ... <dst>]           [-moveFromLocal <localsrc> ... <dst>]           [-get [-ignoreCrc] [-crc] <src> <localdst>]           [-getmerge <src> <localdst> [addnl]]                  [-cat <src>]                                          [-text <src>]                                         [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]           [-moveToLocal [-crc] <src> <localdst>]                        [-mkdir <path>]                                               [-setrep [-R] [-w] <rep> <path/file>]                         [-touchz <path>]                                              [-test -[ezd] <path>]                                         [-stat [format] <path>]                                       [-tail [-f] <file>]                                           [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]           [-chown [-R] [OWNER][:[GROUP]] PATH...]           [-chgrp [-R] GROUP PATH...]           [-help [cmd]]

如果熟悉linux的話,這些命令基本上就不怎麼需要解釋了。 但是下面還是列出了幾個常用情境下的命令:

1. 增加檔案和目錄

hdfs上的檔案的目錄結構同樣也是類似於linux的,根目錄使用/表示。下面的命令將在根目錄下建立目錄newdir:

./bin/hadoop fs -mkdir /newdir

ls查看一下:

 xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -ls /

11/06/01 18:04:11 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=30000011/06/01 18:04:11 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.idFound 3 itemsdrwxr-xr-x   - xuqiang supergroup          0 2011-06-01 17:31 /jobtrackerdrwxr-xr-x   - xuqiang supergroup          0 2011-06-01 18:04 /newdirdrwxr-xr-x   - xuqiang supergroup          0 2011-06-01 17:31 /tmp既然已經有了這個目錄,那麼我們接著將一個本地檔案local file上傳到hdfs上。

xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -put ./README.txt . 

這裡需要注意的是.代表的含義,在hdfs中對於每個登入的使用者都會存在一個預設的工作目錄/user/$LOGINNAME(類似於linux下的home目錄),.代表的就是這個預設工作目錄。

2. 下載檔案

xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -get /user/xuqiang/README.txt3. 刪除檔案xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -rm /user/xuqiang/README.txt4. 協助命令xuqiang@ubuntu:~/hadoop/src/hadoop-0.21.0$ ./bin/hadoop fs -help ls <3>. 參考資料

 

http://hadoop.apache.org/common/docs/r0.18.3/hdfs_permissions_guide.html

<<Hadoop In Action>> 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.