3-hadoop命令
?
1、查看指定目录下内容
?
hadoop dfs –ls [文件目录]
?
eg: hadoop dfs –ls /user/
?
2、打开某个已存在文件
?
hadoop dfs –cat [file_path]
?
eg:hadoop dfs -cat /user/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
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/start-all.sh
?
关闭Hadoop
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/stop-all.sh
?
文件操作
?
Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。
?
查看文件列表
?
查看hdfs中/user/admin/aaron目录下的文件。
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs -ls /user/admin/aaron
?
这样,我们就找到了hdfs中/user/admin/aaron目录下的文件了。
?
我们也可以列出hdfs中/user/admin/aaron目录下的所有文件(包括子目录下的文件)。
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs -lsr /user/admin/aaron
?
创建文件目录
?
查看hdfs中/user/admin/aaron目录下再新建一个叫做newDir的新目录。
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs -mkdir /user/admin/aaron/newDir
?
删除文件
?
删除hdfs中/user/admin/aaron目录下一个名叫needDelete的文件
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs -rm /user/admin/aaron/needDelete
?
删除hdfs中/user/admin/aaron目录以及该目录下的所有文件
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs -rmr /user/admin/aaron
?
上传文件
?
上传一个本机/home/admin/newFile的文件到hdfs中/user/admin/aaron目录下
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs –put /home/admin/newFile /user/admin/aaron/
?
下载文件
?
下载hdfs中/user/admin/aaron目录下的newFile文件到本机/home/admin/newFile中
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs –get /user/admin/aaron/newFile /home/admin/newFile
?
查看文件
?
我们可以直接在hdfs中直接查看文件,功能与类是cat类似
?
查看hdfs中/user/admin/aaron目录下的newFile文件
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop fs –cat /home/admin/newFile
?
MapReduce Job操作
?
提交MapReduce Job
?
原则上说,Hadoop所有的MapReduce Job都是一个jar包。
?
运行一个/home/admin/hadoop/job.jar的MapReduce Job
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop jar /home/admin/hadoop/job.jar [jobMainClass] [jobArgs]
?
杀死某个正在运行的Job
?
假设Job_Id为:job_201005310937_0053
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop job -kill job_201005310937_0053
?
更多Hadoop的命令
?
上面介绍的这些Hadoop的操作命令是我们最常用的。如果你希望了解更多,可以按照如下的方式获取命令的说明信息。
?
1.???????? 进入HADOOP_HOME目录。
?
2.???????? 执行sh bin/hadoop
?
我们可以看到更多命令的说明信息:
?
Usage: hadoop [--config confdir] COMMAND
?
where COMMAND is one of:
?
? namenode -format???? format the DFS filesystem
?
? secondarynamenode??? run the DFS secondary namenode
?
? namenode???????????? run the DFS namenode
?
? datanode???????????? run a DFS datanode
?
? dfsadmin???????????? run a DFS admin client
?
? fsck???????????????? run a DFS filesystem checking utility
?
? fs?????????????????? run a generic filesystem user client
?
? balancer???????????? run a cluster balancing utility
?
? jobtracker?????????? run the MapReduce job Tracker node
?
? pipes??????????????? run a Pipes job
?
? tasktracker????????? run a MapReduce task Tracker node
?
? job????????????????? manipulate MapReduce jobs
?
? queue??????????????? get information regarding JobQueues
?
? version????????????? print the version
?
? jar <jar>??????????? run a jar file
?
? distcp <srcurl> <desturl> copy file or directories recursively
?
? archive -archiveName NAME <src>* <dest> create a hadoop archive
?
? daemonlog??????????? get/set the log level for each daemon
?
?or
?
? CLASSNAME??????????? run the class named CLASSNAME
?
Most commands print help when invoked w/o parameters.
?