Hadoop的使用命令
啟動Hadoop
- 進入HADOOP_HOME目錄。
- 執行sh bin/start-all.sh </ul> </div>
- 進入HADOOP_HOME目錄。
- 執行sh bin/stop-all.sh </ul>
關閉Hadoop
1、查看指定目錄下內容
hadoop dfs –ls [文件目錄]
eg: hadoop dfs –ls /user/wangkai.pt
2、打開某個已存在文件
hadoop dfs –cat [file_path]
eg:hadoop dfs -cat /user/wangkai.pt/data.txt
3、將本地文件存儲至hadoop
hadoop fs –put [本地地址] [hadoop目錄]
hadoop fs –put /home/t/file.txt /user/t
(file.txt是文件名)
4、將本地文件夾存儲至hadoop
hadoop fs –put [本地目錄] [hadoop目錄]
hadoop fs –put /home/t/dir_name /user/t
(dir_name是文件夾名)
5、將hadoop上某個文件down至本地已有目錄下
hadoop fs -get [文件目錄] [本地目錄]
hadoop fs –get /user/t/ok.txt /home/t
6、刪除hadoop上指定文件
hadoop fs –rm [文件地址]
hadoop fs –rm /user/t/ok.txt
7、刪除hadoop上指定文件夾(包含子目錄等)
hadoop fs –rm [目錄地址]
hadoop fs –rmr /user/t
8、在hadoop指定目錄內創建新目錄
hadoop fs –mkdir /user/t
9、在hadoop指定目錄下新建一個空文件
使用touchz命令:
hadoop fs -touchz /user/new.txt
10、將hadoop上某個文件重命名
使用mv命令:
hadoop fs –mv /user/test.txt /user/ok.txt (將test.txt重命名為ok.txt)
11、將hadoop指定目錄下所有內容保存為一個文件,同時down至本地
hadoop dfs –getmerge /user /home/t
12、將正在運行的hadoop作業kill掉
hadoop job –kill [job-id]
管理命令hadoop集群管理員常用的命令。
balancer
運行集群平衡工具。管理員可以簡單的按Ctrl-C來停止平衡過程。參考Rebalancer了解更多。
用法:hadoopbalancer[-threshold<threshold>]
命令選項描述
-threshold<threshold>磁盤容量的百分比。這會覆蓋缺省的閥值。
daemonlog
此Hadoop命令用來獲取或設置每個守護進程的日志級別。
用法:hadoopdaemonlog-getlevel<host:port><name>
用法:hadoopdaemonlog-setlevel<host:port><name><level>
命令選項描述
-getlevel<host:port><name>打印運行在<host:port>的守護進程的日志級別。這個命令內部會連接http://<host:port>/logLevel?log=<name>
-setlevel<host:port><name><level>設置運行在<host:port>的守護進程的日志級別。這個命令內部會連接http://<host:port> /logLevel?log=<name>
datanode
運行一個HDFS的datanode。
用法:hadoop datanode[-rollback]
命令選項描述
-rollback將datanode回滾到前一個版本。這需要在停止datanode,分發老的hadoop版本之后使用。
dfsadmin
此Hadoop命令用來運行一個HDFS的dfsadmin客戶端。
用法:hadoop dfsadmin[GENERIC_OPTIONS][-report][-safemodeenter|leave|get|wait][-refreshNodes][-finalizeUpgrade][-upgradeProgressstatus|details|force][-metasavefilename][-setQuota<quota><dirname>...<dirname>][-clrQuota<dirname>...<dirname>][-help[cmd]]
命令選項描述
-report報告文件系統的基本信息和統計信息。
-safemodeenter|leave|get|wait安全模式維護命令。安全模式是Namenode的一個狀態,這種狀態下,Namenode
1.不接受對名字空間的更改(只讀)
2.不復制或刪除塊
Namenode會在啟動時自動進入安全模式,當配置的塊最小百分比數滿足最小的副本數條件時,會自動離開安全模式。安全模式可以手動進入,但是這樣的話也必須手動關閉安全模式。
-refreshNodes重新讀取hosts和exclude文件,更新允許連到Namenode的或那些需要退出或入編的Datanode的集合。
-finalizeUpgrade終結HDFS的升級操作。Datanode刪除前一個版本的工作目錄,之后Namenode也這樣做。這個操作完結整個升級過程。
-upgradeProgressstatus|details|force請求當前系統的升級狀態,狀態的細節,或者強制升級操作進行。
-metasavefilename保存Namenode的主要數據結構到hadoop.log.dir屬性指定的目錄下的<filename>文件。
對于下面的每一項,<filename>中都會一行內容與之對應
1.Namenode收到的Datanode的心跳信號
2.等待被復制的塊
3.正在被復制的塊
4.等待被刪除的塊
-setQuota<quota><dirname>...<dirname>為每個目錄<dirname>設定配額<quota>。
目錄配額是一個長整型整數,強制限定了目錄樹下的名字個數。
命令會在這個目錄上工作良好,以下情況會報錯:
1.N不是一個正整數,或者
2.用戶不是管理員,或者
3.這個目錄不存在或是文件,或者
4.目錄會馬上超出新設定的配額。
-clrQuota<dirname>...<dirname>為每一個目錄<dirname>清除配額設定。
命令會在這個目錄上工作良好,以下情況會報錯:
1.這個目錄不存在或是文件,或者
2.用戶不是管理員。
如果目錄原來沒有配額不會報錯。
-help[cmd]顯示給定命令的幫助信息,如果沒有給定命令,則顯示所有命令的幫助信息。
jobtracker
此Hadoop命令用來運行MapReducejobTracker節點。
用法:hadoopjobtracker
namenode
運行namenode。有關升級,回滾,升級終結的更多信息請參考升級和回滾。
用法:hadoopnamenode[-format]|[-upgrade]|[-rollback]|[-finalize]|[-importCheckpoint]
命令選項描述
-format格式化namenode。它啟動namenode,格式化namenode,之后關閉namenode。
-upgrade分發新版本的hadoop后,namenode應以upgrade選項啟動。
-rollback將namenode回滾到前一版本。這個選項要在停止集群,分發老的hadoop版本后使用。
-finalizefinalize會刪除文件系統的前一狀態。最近的升級會被持久化,rollback選項將再不可用,升級終結操作之后,它會停掉namenode。
-importCheckpoint從檢查點目錄裝載鏡像并保存到當前檢查點目錄,檢查點目錄由fs.checkpoint.dir指定。
secondarynamenode
運行HDFS的secondarynamenode。參考SecondaryNamenode了解更多。
用法:hadoopsecondarynamenode[-checkpoint[force]]|[-geteditsize]
命令選項描述
-checkpoint[force]如果EditLog的大小>=fs.checkpoint.size,啟動Secondarynamenode的檢查點過程。如果使用了-force,將不考慮EditLog的大小。
-geteditsize打印EditLog大小。
tasktracker
運行MapReduce的taskTracker節點。
用法:hadooptasktracker。本節關于Hadoop命令使用方法介紹到這里。