ERROR security.UserGroupInformation: PriviledgedActionException as:root cause:org.apache.hadoop.mapred.FileAlreadyExistsException:Output directory hdfs://。。。。/user/root/input already exists
是由于参数不对应引起的,即,讲input文件夹对应到output参数上了。正确的执行jar包的方法为:
2.首先确认中间输出结果路径是不存在的,执行删除方法:
bin/hadoop fs -rmr output
3.创建输入路径input,并上传输入文件至该文件夹。
4.执行指令运行jar包wordcount.jar:
bin/hadoop jar wordcount.jar input output
这里要注意参数个数,如果在打包时就已经指定了执行main方法的类,比如WordCount类,那么在执行上述指令时就不要在指定类了,如果写:
bin/hadoop jar wordcount.jar WordCount input output
那么就需要在工程里面修改对应参数:
FileInputFormat.setInputPaths(conf,new Path(args[0]));
0改为1
FileOutputFormat.setOutputPath(conf,new Path(args[1]));
1改为2
最好的方法就是不再加上WordCount这个参数。
当尝试在Hadoop服务器上运行jar包时,遇到'FileAlreadyExistsException'错误,原因是参数配置错误,将input目录误设为output。正确步骤包括:上传jar包到服务器,删除现有output目录,创建input目录并上传输入文件,最后使用'hadoop jar'命令运行,注意避免在命令中指定类名,以防止参数冲突。
1358

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



