1、前述node
分享一篇hadoop的經常使用命令的總結,將經常使用的Hadoop命令總結以下。linux
2、具體centos
一、啓動hadoop全部進程
start-all.sh等價於start-dfs.sh + start-yarn.sh安全
可是通常不推薦使用start-all.sh(由於開源框架中內部命令啓動有不少問題)。負載均衡
二、單進程啓動。框架
sbin/start-dfs.shoop
---------------atom
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 ... //spa
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 nodemanagerxml
三、經常使用命令
一、查看指定目錄下內容
hdfs dfs –ls [文件目錄]
hdfs dfs -ls -R / //顯式目錄結構
eg: hdfs dfs –ls /user/wangkai.pt
二、打開某個已存在文件
hdfs dfs –cat [file_path]
eg:hdfs dfs -cat /user/wangkai.pt/data.txt
三、將本地文件存儲至hadoop
hdfs dfs –put [本地地址] [hadoop目錄]
hdfs dfs –put /home/t/file.txt /user/t
四、將本地文件夾存儲至hadoop
hdfs dfs –put [本地目錄] [hadoop目錄]
hdfs dfs –put /home/t/dir_name /user/t
(dir_name是文件夾名)
五、將hadoop上某個文件down至本地已有目錄下
hadoop dfs -get [文件目錄] [本地目錄]
hadoop dfs –get /user/t/ok.txt /home/t
六、刪除hadoop上指定文件
hdfs dfs –rm [文件地址]
hdfs dfs –rm /user/t/ok.txt
七、刪除hadoop上指定文件夾(包含子目錄等)
hdfs dfs –rm [目錄地址]
hdfs dfs –rmr /user/t
八、在hadoop指定目錄內建立新目錄
hdfs dfs –mkdir /user/t
hdfs dfs -mkdir - p /user/centos/hadoop
九、在hadoop指定目錄下新建一個空文件
使用touchz命令:
hdfs dfs -touchz /user/new.txt
十、將hadoop上某個文件重命名
使用mv命令:
hdfs dfs –mv /user/test.txt /user/ok.txt (將test.txt重命名爲ok.txt)
十一、將hadoop指定目錄下全部內容保存爲一個文件,同時down至本地
hdfs dfs –getmerge /user /home/t
十二、將正在運行的hadoop做業kill掉
hadoop job –kill [job-id]
13.查看幫助
hdfs dfs -help
四、安全模式
(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
五、節點添加
添加一個新的DataNode節點,先在新加節點上安裝好Hadoop,要和NameNode使用相同的配置(能夠直接從NameNode複製),修改HADOOPHOME/conf/master文件,加入NameNode主機名。然後在NameNode節點上修改HADOOPHOME/conf/master文件,加入NameNode主機名。而後在NameNode節點上修改HADOOP_HOME/conf/slaves文件,加入新節點名,再創建新加節點無密碼的SSH鏈接,運行啓動命令爲:/usr/local/hadoop$bin/start-all.sh
六、負載均衡
HDFS的數據在各個DataNode中的分佈可能很不均勻,尤爲是在DataNode節點出現故障或新增DataNode節點時。新增數據塊時NameNode對DataNode節點的選擇策略也有可能致使數據塊分佈不均勻。用戶可使用命令從新平衡DataNode上的數據塊的分佈:/usr/local/hadoop$bin/start-balancer.sh
七、補充
1.對hdfs操做的命令格式是hdfs dfs 1.1 -ls 表示對hdfs下一級目錄的查看1.2 -lsr 表示對hdfs目錄的遞歸查看1.3 -mkdir 建立目錄1.4 -put 從Linux上傳文件到hdfs1.5 -get 從hdfs下載文件到linux1.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]命令的幫助文檔