Hadoop学习笔记0005——centos下运行Hadoop实例,centoshadoop


前提: *确保Hadoop安装成功*

1、复制Hadoop自带的源码实例

cp /usr/hadoop/src/examples/org/apache/hadoop/examples/WordCount.java /usr/hadoop/test

2、创建一个classes文件夹,方便编译

mkdir classes

3、编译WordCount.java文件

javac -classpath /usr/hadoop/hadoop-core-1.2.1.jar:/usr/hadoop/lib/commons-cli-1.2.jar WordCount.java -d classes

该命令的特别之处是利用-classpath选项指定WordCount需要的jar包。一开始我们可能不知道WordCount需要什么jar包,我们可以通过搜索hadoop的目录来搜寻相关jar包。hadoop目录下存放jar包的位置有两个:根目录和/lib目录。然后我们可以通过jar tvf *.jar查看jar包内容,进而可以知道WordCount需要的是哪几个jar包。
-d选项指定生成的类文件的位置,在编译的时候这个选项必须重新指定,不能让class文件生成在当前目录下。这是因为WordCount.java内包含package信息,如果我们不加-d选项,则编译的时候会将package信息丢失,导致能编译通过,但是后续不能找到类文件的错误。

4、将class文件打包成一个jar包

jar cvf WordCount.jar -C classes/ .

注意不要忘记最后有一个点,否则jar命令报错。该点指示jar命令的文件列表,表示指定目录下的所有文件。这里不能用*,否则会添加除了指定目录还有当前目录下的所有文件。
打包的结果是在执行jar命令的目录下生成一个WordCount.jar。

5、生成input文件

由于运行hadoop时指定的输入文件只能是HDFS文件系统中的文件,所以我们必须将要进行wordcount的文件从本地文件系统拷贝到HDFS文件系统中。

hadoop fs -mkdir input
hadoop fs –put NOTICE.txt input

6、运行jar包

hadoop jar WordCount.jar org.apache.hadoop.examples.WordCount input output

7、查看结果

hadoop fs -cat output/part-r-00000

到此为止,hadoop下的WordCount实例运行结束。

相关内容