linux运行hadoop实例wordcount详解

发布时间:2016-12-9 13:50:53 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"linux运行hadoop实例wordcount详解",主要涉及到linux运行hadoop实例wordcount详解方面的内容,对于linux运行hadoop实例wordcount详解感兴趣的同学可以参考一下。

在服务器上配置了hadoop准备自己从wordcount.java开始到跑起wordcount程序,但是就这简单的几步遇到了很多问题,现在总结一下我碰到的问题: 整个过程步骤是: 1.首先创建文件目录: mkdir  Test 2.编译wordcount.java文件生成.class文件,存放在第一步创建的文件夹Test中: javac  -classpath <hadoop_path>/hadoop*core*.jar  -d  Test 报错: WordCount.java:53: 错误: 无法访问Options     String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();                          ^   找不到org.apache.commons.cli.Options的类文件 1 个错误 错误原因:找不到commons.cli.Options这个类,需要讲这个jar导入 解决方法:在*core*.jar后添加冒号和该类的路径如下: javac  -classpath <hadoop_path>/hadoop*core*.jar:<hadoop_path>/lib/common-cli-1.2.jar  -d  Test 3.将Test中的文件打包生成wordcount.jar文件: jar  -cvf  wordcount.jar  -C  Test/  . 注意:结尾有个点 4.执行jar包,确保已经将数据放入dfs的input文件中: hadoop  jar  wordcount.jar  WordCount  input  output 报错: Exception in thread "main" java.lang.ClassNotFoundException: WordCount at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at org.apache.hadoop.util.RunJar.main(RunJar.java:149) 错误原因:找不到WordCount类,因为我们没有指定该类的位置,需要再WordCount前加上文件架构(即最初的.java文件开头那句package ...) 解决方法:我的只有一个文件examples(即开头是:package examples;) hadoop  jar  wordcount.jar  examples.WordCount  input  output 有可能这时候还会报上面一样的错误,那就要检查你的文件了,有可能是你的文件的写法和你安装的hadoop版本不一致,你可以在安装目录里的src里找WordCount.java文件来执行。 费一天劲终于跑出来了

上一篇:谷歌人工智能大师:未来的机器将比人类更聪明
下一篇:NSPredicate的使用方式

相关文章

相关评论