Hadoop 命令行运行实例

时间:2022-03-28 14:43:20

打包
为了能够在命令行中运行程序,首先需要对他进行编译和打包,下面就分别展示了编译和打包的过程

编译代码如下:

javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar -d wordcount_class   wordcount.java

上述命令会将wordcount.java编译后的所有class 文件到wordcount_class文件夹下,执行下面的命令打包所有的class文件:

jar -cvf /usr/local/hadoop/hadoop-1.0.2/bin/wordcount.jar -C wordcount_class/.
标明清单(mainfest)
增加:wordcount$Map.class
增加:wordcount$Readuce.class
增加:wordcount.class

在本地模式下运行

hadoop jar wordcount.jar input output 

在集群上运行
首先将输入的文件复制到hdfs钟,用以下命令完成该功能

hadoop dfs -copyFromLocal /input 

下面用命令行中运行程序

hadoop jar /wordcount.jar wordcount inpout output
执行上述命令运行wordcount.jar中的wordcount类,并且将input作为输入,output作为输出

返回结果:
通过命令行直接显示输出文件夹中的文件

hadoop dfs -ls output

通过以上命令 的执行结果可以发现,输出的结果中一共有6个文件

将输出的文件从hdfs复制到本地文件系统上,在本地文件系统上查看
命令如下:

hadoop dfs -get output/* /home/u/output

还可以在命令行中将输出的文件合并成一个文件,并复制到本地文件系统中
hadoop dfs -getmerge output/* /home/u/output