Hadoop的使用命令

jopen 10年前

启动Hadoop

  • 进入HADOOP_HOME目录。
  • 执行sh bin/start-all.sh

关闭Hadoop

  • 进入HADOOP_HOME目录。
  • 执行sh bin/stop-all.sh

 

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命令使用方法介绍到这里。