hadoop 运行wordcount遇见的参数不一致有关问题

hadoop 运行wordcount遇见的参数不一致问题

已知java的传参方式和C不一样:如,假设fileName.class

javac 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 运行wordcount遇见的参数不一致有关问题


可是当我直接调用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 运行wordcount遇见的参数不一致有关问题

原因分析,

        因为hadoop-examples-1.0.4.jar没有设置main主类,所以不加wordcount就不知道调用那个class。