天天看点

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

报错:​

​FileAlreadyExistsException: Output directory FileAlreadyExistsException: Output directory file:/home/data/mapReduce/data already exists​

​​

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

如上图所示,jar包运行时传参形式报错,说输出路径已经存在!?但是仔细观察会发现,系统所说的已存在路径实际是资源文件的输入路径,也就是说在获取参数的时候错位了,疑似左移了一个参数。

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

于是对其程序进行了修改,将参数数组元素右移一个,从1开始,再次运行:

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

结果正常输出!

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

giao~

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

这里本人觉得可以理解成,运行jar包的时候加载主类的配置就默认是一个参数,为 ​

​args[0]​

​ ,后面再写参数的时候就得从1开始~验证大佬的叙述(图中红框内容,注意:打包方式为 ② 的时候才会指定主加载类):

【MapReduce】jar包集群运行:FileAlreadyExistsException: Output directory ..... already exists

继续阅读