已知java的传参方式和C不一样:如,假设fileName.class
java fileName 1 2 3
则程序的argv[0] 为1, argv[1]为2
当在wordcount.java中我把argv[0] 传入input路径,argv[1]传入output路径。
通过jar压缩手段,将.class压缩成wordcount.jar文件,并设置了主类配置。
bin/hadoop jar wordcount.jar /my/ /tmp/output
成功
可是当我直接调用hadoop的example提供的wordcount类时:
将正确的运行方式:
bin/hadoop jar hadoop-examples-1.0.4.jar wordcount /my/ /tmp/output
改为
bin/hadoop jar hadoop-examples-1.0.4.jar /my/ /tmp/output
就出现下面的错误
原因分析,
因为hadoop-examples-1.0.4.jar没有设置main主类,所以不加wordcount就不知道调用那个class。
Hadoop WordCount 参数解析
本文探讨了在使用Hadoop运行WordCount程序时如何正确传递输入输出参数,并解释了当jar包未设置主类时可能遇到的问题及解决方法。
626

被折叠的 条评论
为什么被折叠?



