1. 程式人生 > >Hadoop常用命令總結

Hadoop常用命令總結

結構 換行 表示 hdf 幫助 需要 創建 data deny

一、前述

分享一篇hadoop的常用命令的總結,將常用的Hadoop命令總結如下。

二、具體

1、啟動hadoop所有進程
start-all.sh等價於start-dfs.sh + start-yarn.sh

但是一般不推薦使用start-all.sh(因為開源框架中內部命令啟動有很多問題)。


2、單進程啟動。

sbin/start-dfs.sh

---------------

sbin/hadoop-daemons.sh --config .. --hostname .. start namenode ...
sbin/hadoop-daemons.sh --config .. --hostname .. start datanode ...


sbin/hadoop-daemons.sh --config .. --hostname .. start sescondarynamenode ...
sbin/hadoop-daemons.sh --config .. --hostname .. start zkfc ... //

sbin/start-yarn.sh
--------------
libexec/yarn-config.sh
sbin/yarn-daemon.sh --config $YARN_CONF_DIR start resourcemanager
sbin/yarn-daemons.sh --config $YARN_CONF_DIR start nodemanager

3、常用命令

1、查看指定目錄下內容

hdfs dfs –ls [文件目錄]

hdfs dfs -ls -R / //顯式目錄結構

eg: hdfs dfs –ls /user/wangkai.pt

2、打開某個已存在文件

hdfs dfs –cat [file_path]

eg:hdfs dfs -cat /user/wangkai.pt/data.txt

3、將本地文件存儲至hadoop

hdfs dfs –put [本地地址] [hadoop目錄]

hdfs dfs –put /home/t/file.txt /user/t

4、將本地文件夾存儲至hadoop

hdfs dfs –put [本地目錄] [hadoop目錄]
hdfs dfs –put /home/t/dir_name /user/t

(dir_name是文件夾名)

5、將hadoop上某個文件down至本地已有目錄下

hadoop dfs -get [文件目錄] [本地目錄]

hadoop dfs –get /user/t/ok.txt /home/t

6、刪除hadoop上指定文件

hdfs dfs –rm [文件地址]

hdfs dfs –rm /user/t/ok.txt

7、刪除hadoop上指定文件夾(包含子目錄等)

hdfs dfs –rm [目錄地址]

hdfs dfs –rmr /user/t

8、在hadoop指定目錄內創建新目錄

hdfs dfs –mkdir /user/t

hdfs dfs -mkdir - p /user/centos/hadoop

9、在hadoop指定目錄下新建一個空文件

使用touchz命令:

hdfs dfs -touchz /user/new.txt

10、將hadoop上某個文件重命名

使用mv命令:

hdfs dfs –mv /user/test.txt /user/ok.txt (將test.txt重命名為ok.txt)

11、將hadoop指定目錄下所有內容保存為一個文件,同時down至本地

hdfs dfs –getmerge /user /home/t

12、將正在運行的hadoop作業kill掉

hadoop job –kill [job-id]

13.查看幫助

hdfs dfs -help

4、安全模式

(1)退出安全模式

NameNode在啟動時會自動進入安全模式。安全模式是NameNode的一種狀態,在這個階段,文件系統不允許有任何修改。

系統顯示Name node in safe mode,說明系統正處於安全模式,這時只需要等待十幾秒即可,也可通過下面的命令退出安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode leave

(2) 進入安全模式
在必要情況下,可以通過以下命令把HDFS置於安全模式:/usr/local/hadoop$bin/hadoop dfsadmin -safemode enter

5、節點添加

添加一個新的DataNode節點,先在新加節點上安裝好Hadoop,要和NameNode使用相同的配置(可以直接從NameNode復制),修改HADOOPHOME/conf/masterNameNodeNameNodeHADOOPHOME/conf/master文件,加入NameNode主機名。然後在NameNode節點上修改HADOOP_HOME/conf/slaves文件,加入新節點名,再建立新加節點無密碼的SSH連接,運行啟動命令為:/usr/local/hadoop$bin/start-all.sh

6、負載均衡

HDFS的數據在各個DataNode中的分布可能很不均勻,尤其是在DataNode節點出現故障或新增DataNode節點時。新增數據塊時NameNode對DataNode節點的選擇策略也有可能導致數據塊分布不均勻。用戶可以使用命令重新平衡DataNode上的數據塊的分布:/usr/local/hadoop$bin/start-balancer.sh

7、補充

1.對hdfs操作的命令格式是hdfs dfs
1.1 -ls 表示對hdfs下一級目錄的查看
1.2 -lsr 表示對hdfs目錄的遞歸查看
1.3 -mkdir 創建目錄
1.4 -put 從Linux上傳文件到hdfs
1.5 -get 從hdfs下載文件到linux
1.6 -text 查看文件內容
1.7 -rm 表示刪除文件
1.7 -rmr 表示遞歸刪除文件
2.hdfs在對數據存儲進行block劃分時,如果文件大小超過block,那麽按照block大小進行劃分;不如block size的,劃分為一個塊,是實際數據大小。
*****PermissionDenyException 權限不足**********
hadoop常用命令:
hdfs dfs 查看Hadoop HDFS支持的所有命令
hdfs dfs –ls 列出目錄及文件信息
hdfs dfs –lsr 循環列出目錄、子目錄及文件信息
hdfs dfs –put test.txt /user/sunlightcs 將本地文件系統的test.txt復制到HDFS文件系統的/user/sunlightcs目錄下
hdfs dfs –get /user/sunlightcs/test.txt . 將HDFS中的test.txt復制到本地文件系統中,與-put命令相反
hdfs dfs –cat /user/sunlightcs/test.txt 查看HDFS文件系統裏test.txt的內容
hdfs dfs –tail /user/sunlightcs/test.txt 查看最後1KB的內容
hdfs dfs –rm /user/sunlightcs/test.txt 從HDFS文件系統刪除test.txt文件,rm命令也可以刪除空目錄
hdfs dfs –rmr /user/sunlightcs 刪除/user/sunlightcs目錄以及所有子目錄
hdfs dfs –copyFromLocal test.txt /user/sunlightcs/test.txt 從本地文件系統復制文件到HDFS文件系統,等同於put命令
hdfs dfs –copyToLocal /user/sunlightcs/test.txt test.txt 從HDFS文件系統復制文件到本地文件系統,等同於get命令
hdfs dfs –chgrp [-R] /user/sunlightcs 修改HDFS系統中/user/sunlightcs目錄所屬群組,選項-R遞歸執行,跟linux命令一樣
hdfs dfs –chown [-R] /user/sunlightcs 修改HDFS系統中/user/sunlightcs目錄擁有者,選項-R遞歸執行
hdfs dfs –chmod [-R] MODE /user/sunlightcs 修改HDFS系統中/user/sunlightcs目錄權限,MODE可以為相應權限的3位數或+/-{rwx},選項-R遞歸執行
hdfs dfs –count [-q] PATH 查看PATH目錄下,子目錄數、文件數、文件大小、文件名/目錄名
hdfs dfs –cp SRC [SRC …] DST 將文件從SRC復制到DST,如果指定了多個SRC,則DST必須為一個目錄
hdfs dfs –du PATH 顯示該目錄中每個文件或目錄的大小
hdfs dfs –dus PATH 類似於du,PATH為目錄時,會顯示該目錄的總大小
hdfs dfs –expunge 清空回收站,文件被刪除時,它首先會移到臨時目錄.Trash/中,當超過延遲時間之後,文件才會被永久刪除
hdfs dfs –getmerge SRC [SRC …] LOCALDST [addnl] 獲取由SRC指定的所有文件,將它們合並為單個文件,並寫入本地文件系統中的LOCALDST,選項addnl將在每個文件的末尾處加上一個換行符
hdfs dfs –touchz PATH 創建長度為0的空文件
hdfs dfs –test –[ezd] PATH 對PATH進行如下類型的檢查: -e PATH是否存在,如果PATH存在,返回0,否則返回1 -z 文件是否為空,如果長度為0,返回0,否則返回1 -d 是否為目錄,如果PATH為目錄,返回0,否則返回1
hdfs dfs –text PATH 顯示文件的內容,當文件為文本文件時,等同於cat,文件為壓縮格式(gzip以及hadoop的二進制序列文件格式)時,會先解壓縮 hdfs dfs –help ls 查看某個[ls]命令的幫助文檔

本文轉自 https://www.cnblogs.com/LHWorldBlog/p/8514994.html

Hadoop常用命令總結