⑴ 熟悉常用的 Linux 操作和 Hadoop 操作
1.切換到當前目錄的上一級目錄
cd ..
2.切換到當前登錄 Linux 系統的用戶自己的主文件夾
cd ~
3.進入/tmp 目錄,創建目錄 a1/a2/a3/a4。
mkdir a1/a2/a3/a4 -p
4.刪除目錄
rmdir a
rmdir a1/a2/a3/a4 -p
5.cp 命令:復制文件或目錄
(1) 將當前用戶的主文件夾下的文件.bashrc 復制到目錄「/usr」下,並重命名為 bashrc1
sudo cp .bashrc /usr/bashrc1
(2) 在目錄「/tmp」下新建目錄 test,再把這個目錄復制到「/usr」目錄下
cd /tmp
mkdir test
sudo cp /tmp/test /usr -r
6.mv 命令:移動文件與目錄,或更名
(1) 將「/usr」目錄下的文件 bashrc1 移動到「/usr/test」目錄下
sudo mv /usr/bashrc1 /usr/test
(2) 將「/usr」目錄下的 test 目錄重命名為 test2
sudo mv /usr/test /usr/test2
7.rm 命令:移除文件或目錄
(1) 將「/usr/test2」目錄下的 bashrc1 文件刪除
sudo rm /usr/test2/bashrc1
(2) 將「/usr」目錄下的 test2 目錄刪除
sudo rm -rf /usr/test2
8.cat 命令:查看文件內容查看當前用戶主文件夾下的.bashrc 文件內容
cat .bashrc
9.tac 命令:反向查看文件內容反向查看當前用戶主文件夾下的.bashrc 文件的內容
tac .bashrc
10.more 命令:一頁一頁翻動查看翻頁查看當前用戶主文件夾下的.bashrc 文件的內容
more .bashrc
11.head 命令:取出前面幾行
(1) 查看當前用戶主文件夾下.bashrc 文件內容前 20 行
head -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,後面 50 行不顯示,只顯示前面幾行
head -n -50 .bashrc
12.tail 命令:取出後面幾行
(1)查看當前用戶主文件夾下.bashrc 文件內容最後 20 行
tail -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,並且只列出 50 行以後的數據
tail -n -50 .bashrc
13.touch 命令:修改文件時間或創建新文件
(1) 在「/tmp」目錄下創建一個空文件 hello,並查看文件時間
touch hello
stat hello
(2)修改 hello 文件,將文件時間整為 5 天前
touch -d "2019-3-26" hello
stat hello
14.chown 命令:修改文件所有者許可權將 hello 文件所有者改為 root 帳號,並查看屬性
sudo chown root hello
ls -l hello
15.find 命令:文件查找找出主文件夾下文件名為.bashrc 的文件
find .bashrc
16.tar 命令:壓縮命令
(1) 在根目錄「/」下新建文件夾 test,然後在根目錄「/」下打包成 test.tar.gz
tar -zcvf test.tar.gz test/
(2) 把上面的 test.tar.gz 壓縮包,解壓縮到「/tmp」目錄
tar -zxvf test.tar.gz
17.grep 命令:查找字元串從「~/.bashrc」文件中查找字元串'examples'
grep -rn "examples" .bashrc
18.使用 hadoop 用戶登錄 Linux 系統,啟動 Hadoop(Hadoop 的安裝目錄為「/usr/local/hadoop」),為 hadoop 用戶在 HDFS 中創建用戶目錄「/user/hadoop」
./bin/hadoop fs -mkdir -p /usr/hadoop
19.接著在 HDFS 的目錄「/user/hadoop」下,創建 test 文件夾,並查看文件列表
./bin/hdfs dfs -mkdir test
./bin/hadoop fs -ls
20.將 Linux 系統本地的「~/.bashrc」文件上傳到 HDFS 的 test 文件夾中,並查看 test
./bin/hadoop fs -put ~/.bashrc test
./bin/hadoop fs -ls test
21.將 HDFS 文件夾 test 復制到 Linux 系統本地文件系統的「/usr/local/hadoop」目錄下
參考: 1
⑵ HDFS中根目錄下創建user文件夾的命令為
HDFS中根目錄下創建user文件夾的命令為hadoop dfs-mkdir。在hdfs中創建一個input文件夾:hadoopfs-mkdir/input/1、使用參數-p創建多級目錄:hadoopfs-mkdir-p/input/file1。拷貝input目錄到hdfs系統的時候,不是採用的hadoop用戶,而是用root用戶執行的拷貝命令。
hdfs的特點和目標:
1、硬體故障
硬體故障是常態,而不是異常。整個HDFS系統將由數百或數千個存儲著文件數據片段的伺服器組成。實際上它裡面有非常巨大的組成部分,每一個組成部分都很可能出現故障,這就意味著HDFS里的總是有一些部件是失效的,因此,故障的檢測和自動快速恢復是HDFS一個很核心的設計目標。
2、數據訪問
運行在HDFS之上的應用程序必須流式地訪問它們的數據集,它不是運行在普通文件系統之上的普通程序。HDFS被設計成適合批量處理的,而不是用戶互動式的。重點是在數據吞吐量,而不是數據訪問的反應時間,POSIX的很多硬性需求對於HDFS應用都是非必須的,去掉POSIX一小部分關鍵語義可以獲得更好的數據吞吐率。
3、大數據集
運行在HDFS之上的程序有很大量的數據集。典型的HDFS文件大小是GB到TB的級別。所以,HDFS被調整成支持大文件。它應該提供很高的聚合數據帶寬,一個集群中支持數百個節點,一個集群中還應該支持千萬級別的文件。
以上內容參考:網路-hdfs
⑶ 何時使用hadoop fs,hadoop dfs與hdfs dfs命令
hadoop fs:使用面廣操作任何文件系統
hadoop dfs與hdfs dfs:能操作HDFS文件系統相關(包括與Local FS間操作)前者已經Deprecated般使用者
Following are the three commands which appears same but have minute differences
hadoop fs {args}
hadoop dfs {args}
hdfs dfs {args}
hadoop fs <args></args>
FS
relates to a generic file system which can point to any file systems
like local, HDFS etc. So this can be used when you are dealing with
different file systems such as Local FS, HFTP FS, S3 FS, and others
hadoop dfs <args></args>
dfs
is very specific to HDFS. would work for operation relates to HDFS.
This has been deprecated and we should use hdfs dfs instead.
hdfs dfs <args></args>
same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of hadoop dfs
below is the list categorized as HDFS commands.
**#hdfs commands**
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use Hadoop dfs , it will look locate hdfs and delegate that command to hdfs dfs
⑷ 這條hadoop命令是什麼意思裡面的fs和-ls又分別是什麼意思呢
fs = file system, hadoop的命令固定格式,或者dfs
-ls = 查看目錄文件
⑸ 何時使用hadoop fs,hadoop dfs與hdfs dfs命令
hadoop fs:使用面最廣,可以操作任何文件系統。
hadoop dfs與hdfs dfs:只能操作HDFS文件系統相關(包括與Local
FS間的操作),前者已經Deprecated,一般使用後者。
⑹ hadoop中命令經常含有-fs,-dfs,fs和dfs有什麼區別作用是什麼
You can see definitions of the two commands (hadoop fs & hadoop dfs) in
可以看一下hadoop的源代碼
$HADOOP_HOME/bin/hadoop
...elif [ "$COMMAND" = "datanode" ] ; then CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode' HADOOP_OPTS="$HADOOP_OPTS $HADOOP_DATANODE_OPTS"elif [ "$COMMAND" = "fs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfs" ] ; then CLASS=org.apache.hadoop.fs.FsShell HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"elif [ "$COMMAND" = "dfsadmin" ] ; then CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"...
So, they are exactly the same.
所以,發現兩者是完全一樣的功能。
謝謝
⑺ 何時使用hadoop fs,hadoop dfs與hdfs dfs命令
沒什麼區別啊。 不過有些系統級命令 hadoop fs 好用。
一般情況下只操作 HDFS 時候適合用 hdfs dfs 感覺少打點。。
⑻ 何時使用hadoop fs,hadoop dfs與hdfs dfs命令
hadoop fs:使用面最廣,可以操作任何文件系統。
hadoop dfs與hdfs dfs:只能操作HDFS文件系統相關(包括與Local FS間的操作),前者已經Deprecated,一般使用後者。
以下內容參考自stackoverflow
Following are the three commands which appears same but have minute differences
hadoop fs {args}
hadoop dfs {args}
hdfs dfs {args}
hadoop fs <args>
FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file systems such as Local FS, HFTP FS, S3 FS, and others
hadoop dfs <args>
dfs is very specific to HDFS. would work for operation relates to HDFS. This has been deprecated and we should use hdfs dfs instead.
hdfs dfs <args>
same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of hadoop dfs
below is the list categorized as HDFS commands.
**#hdfs commands**
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use Hadoop dfs , it will look locate hdfs and delegate that command to hdfs dfs
⑼ 何時使用hadoop fs,hadoop dfs與hdfs dfs命令
hadoop hdfs dfs基本操作
本文主要參考:
http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/FileSystemShell.html
根據上面官方文檔的提示我們能夠知道可以通過shell的方式訪問hdfs中的數據,對數據進行操作。那麼首先讓我們看一下hdfs的版本,使用命令hdfs version。
好,下面上貨:
1、查詢
使用命令:
hdfs dfs -ls / 這條執行會列出/目錄下的文件和目錄
hdfs dfs -ls -R /這條會列出/目錄下的左右文件,由於有-R參數,會在文件夾和子文件夾下執行ls操作。
2、添加文件夾
使用命令;
hdfs dfs -mkdir -p /xytest/testdata001/
這里需要注意的是,root用戶是否擁有hdfs 的許可權,如果有,我們可以繼續操作,如果沒有,我們可以直接使用hdfs用戶,默認安裝完cdh後,用戶hdfs擁有所有的許可權。如果對於許可權有不明白的,推薦看一下我的另一篇文章:
http://blog.csdn.net/wild46cat/article/details/69664376
3、增加文件
使用命令:
hdfs dfs -FromLocal ~/123.txt /xytest/testdata001/
4、查看hdfs文件中的內容
使用命令:
hdfs dfs -cat /xytest/testdata001/123.txt
或者,可以把hdfs中的文件到本地
使用命令:
hdfs dfs -ToLocal /xytest/testdata001/123.txt ~/222.txt
5、刪除文件
使用命令:
hdfs dfs -rm -f /xytest/testdata001/123.txt
6、刪除文件夾
使用命令:
hdfs dfs -rm -r /xytest/testdata001