HDFS命令行操作

时间:2023-02-03 09:37:14

启动后可通过命令行使用hadoop。

(1)所有命令 (先将$HADOOP_HOME/bin加入到.bashrc的$PATH变量中)

[html] view
plain
copy
  1. [hadoop@node14 hadoop-0.21.0]$ ll $HADOOP_HOME/bin
  2. total 88
  3. -rwxr-xr-x 1 hadoop hadoop 4131 Aug 17  2010 hadoop
  4. -rwxr-xr-x 1 hadoop hadoop 8658 Aug 17  2010 hadoop-config.sh
  5. -rwxr-xr-x 1 hadoop hadoop 3841 Aug 17  2010 hadoop-daemon.sh
  6. -rwxr-xr-x 1 hadoop hadoop 1242 Aug 17  2010 hadoop-daemons.sh
  7. -rwxr-xr-x 1 hadoop hadoop 4130 Aug 17  2010 hdfs
  8. -rwxr-xr-x 1 hadoop hadoop 1201 Aug 17  2010 hdfs-config.sh
  9. -rwxr-xr-x 1 hadoop hadoop 3387 Aug 17  2010 mapred
  10. -rwxr-xr-x 1 hadoop hadoop 1207 Aug 17  2010 mapred-config.sh
  11. -rwxr-xr-x 1 hadoop hadoop 2720 Aug 17  2010 rcc
  12. -rwxr-xr-x 1 hadoop hadoop 2058 Aug 17  2010 slaves.sh
  13. -rwxr-xr-x 1 hadoop hadoop 1367 Aug 17  2010 start-all.sh
  14. -rwxr-xr-x 1 hadoop hadoop 1018 Aug 17  2010 start-balancer.sh
  15. -rwxr-xr-x 1 hadoop hadoop 1778 Aug 17  2010 start-dfs.sh
  16. -rwxr-xr-x 1 hadoop hadoop 1255 Aug 17  2010 start-mapred.sh
  17. -rwxr-xr-x 1 hadoop hadoop 1359 Aug 17  2010 stop-all.sh
  18. -rwxr-xr-x 1 hadoop hadoop 1069 Aug 17  2010 stop-balancer.sh
  19. -rwxr-xr-x 1 hadoop hadoop 1277 Aug 17  2010 stop-dfs.sh
  20. -rwxr-xr-x 1 hadoop hadoop 1163 Aug 17  2010 stop-mapred.sh

(2) hadoop命令

[html] view
plain
copy
  1. [hadoop@node14 hadoop-0.21.0]$ hadoop
  2. Usage: hadoop [--config confdir] COMMAND
  3. where COMMAND is one of:
  4. fs                   run a generic filesystem user client
  5. version              print the version
  6. jar <jar>            run a jar file
  7. distcp <srcurl> <desturl> copy file or directories recursively
  8. archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
  9. classpath            prints the class path needed to get the
  10. Hadoop jar and the required libraries
  11. daemonlog            get/set the log level for each daemon
  12. or
  13. CLASSNAME            run the class named CLASSNAME
  14. Most commands print help when invoked w/o parameters.

(3) hadoop fs

[html] view
plain
copy
  1. [hadoop@node14 hadoop-0.21.0]$ hadoop fs
  2. Usage: java FsShell
  3. [-ls <path>]
  4. [-lsr <path>]
  5. [-df [<path>]]
  6. [-du [-s] [-h] <path>]
  7. [-dus <path>]
  8. [-count[-q] <path>]
  9. [-mv <src> <dst>]
  10. [-cp <src> <dst>]
  11. [-rm [-skipTrash] <path>]
  12. [-rmr [-skipTrash] <path>]
  13. [-expunge]
  14. [-put <localsrc> ... <dst>]
  15. [-copyFromLocal <localsrc> ... <dst>]
  16. [-moveFromLocal <localsrc> ... <dst>]
  17. [-get [-ignoreCrc] [-crc] <src> <localdst>]
  18. [-getmerge <src> <localdst> [addnl]]
  19. [-cat <src>]
  20. [-text <src>]
  21. [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>]
  22. [-moveToLocal [-crc] <src> <localdst>]
  23. [-mkdir <path>]
  24. [-setrep [-R] [-w] <rep> <path/file>]
  25. [-touchz <path>]
  26. [-test -[ezd] <path>]
  27. [-stat [format] <path>]
  28. [-tail [-f] <file>]
  29. [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
  30. [-chown [-R] [OWNER][:[GROUP]] PATH...]
  31. [-chgrp [-R] GROUP PATH...]
  32. [-help [cmd]]
  33. Generic options supported are
  34. -conf <configuration file>     specify an application configuration file
  35. -D <propertyproperty=value>            use value for given property
  36. -fs <local|namenode:port>      specify a namenode
  37. -jt <local|jobtracker:port>    specify a job tracker
  38. -files <comma separated list of files>    specify comma separated files to be co                                                                                                                     pied to the map reduce cluster
  39. -libjars <comma separated list of jars>    specify comma separated jar files to                                                                                                                      include in the classpath.
  40. -archives <comma separated list of archives>    specify comma separated archives                                                                                                                      to be unarchived on the compute machines.
  41. The general command line syntax is
  42. bin/hadoop command [genericOptions] [commandOptions]

(4)HDFS操作

[html] view
plain
copy
  1. hadoop fs
  2. hadoop fs -ls
  3. hadoop fs -mkdir firstdir<span style="white-space:pre">         </span>//HDFS创建目录
  4. hadoop fs -rmr firstdir<span style="white-space:pre">               </span>//HDFS删除目录
  5. hadoop fs -put test.txt first.txt<span style="white-space:pre">     </span>//从本地目录中将文件放入HDFS
  6. hadoop fs  -cat first.txt
  7. hadoop fs  -df
  8. hadoop fs -get first.txt FirstTXTfromHDFS.txt    //从HDFS取文件到本地

若文件写入遇到异常

(0)检查和机器名是否正确

node14配置了外部IP和内部IP,在/etc/hosts中加入两条IP与机器名的对应表,如果外部IP放在内部IP的前面,

则通过netstat -npl查看时,发现9000和9001是外部IP占据,故应在/etc/hosts中内部IP放在外部的IP的前面。

或者在conf中配置文件中,全部用IP,而不要用机器名。





(1)关闭防火墙

sudo /etc/init.d/iptables stop





(2)查看磁盘空间是否正常

df -hl





(3)检查目录是否正常

hadoop.tmp.dir默认:/tmp/hadoop-${user.name}

删除/tmp下面的文件,重新hadoop namenode -format,重启所有进程。





(4)单独启动各个进程

在namenode和datanode上分别启动节点

$hadoop-daemon.sh start namenode

$hadoop-daemon.sh start datanode