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的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。