读书人

【hadoop学习】在伪分布式hadoop下手把

发布时间: 2012-10-15 09:45:24 作者: rapoo

【hadoop学习】在伪分布式hadoop上手把手实践word count程序【上】

前两天在Mac OS 10.8.1上搭建了hadoop伪分布式系统,这两天自娱自乐,用java写了个word count程序,在上面运行成功。因为java不是我主要编程语言,而且控制台下编译环境也不熟,又是在业余时间自己折腾,因此折腾了几天,呵呵,惭愧。下面记录下整个过程,包括这两天踩到的各种坑儿。


1. word count 程序撰写

这个容易,打开vim,直接按照教科书上的内容敲代码进去。不过用vim写代码看起来虽然酷,不过有个缺点,就是不能自动补全头文件。我先win下用过eclips,就能自动补全,省事很多。以后在mac上也搞一个eclips。不过现在还不想搞,不想让编辑器替我做太多的事情,那样我该了解不到很多底层细节了。不罗嗦了,代码很简单,如下:

Manifest-Version: 1.0Created-By: 1.6.0 (Sun Microsystems Inc.)Main-Class: hadoopWordCount.hadoopWordCount

最主要的是第三行。接下来,cd到bin目录下——这个很重要,在别的目录下运行jar命令,虽然也能顺利打出jar包,但是当用java命令或者hadoop jar命令来运行的时候,总是找不到入口类(main函数)——然后运行jar命令打包,如下:

jar -cvfm helloWordCount.jar ../src/MANIFEST.MF ./

具体参数cvfm就自己查jar参数说明吧(jar -help)。第三个参数是jar包的名字,本来想用hadoopWordCount.jar的,和package, class一致,不过总想着hello world,就写成那个了。不过不影响运行。接下来是MANIFEST.MF文件路径。然后是.class文件所在路径——这个就是javac编译的时候用的路径(在本例中是当前目录)。此时屏幕会有一些输出信息,大概意思就是讲什么文件打包进去了。在当前目录下,发现了helloWordCount.jar文件。


读书人网 >云计算

热点推荐