使用java在hadoop上运行mapreduce程序时出错

时间:2016-09-04 15:34:21

标签: java hadoop mapreduce

嘿伙计们我跟随http://www.tutorialspoint.com/hadoop/hadoop_mapreduce.htm。使用此

运行程序后
hadoop jar units.jar hadoop.ProcessUnits input_dir output_dir

我收到以下错误:

  

16/09/04 20:32:14 WARN util.NativeCodeLoader:无法加载   适用于您平台的native-hadoop库...使用builtin-java类   适用的地方

     

16/09/04 20:32:15 INFO Configuration.deprecation:不推荐使用session.id.相反,请使用dfs.metrics.session-id

     

16/09/04 20:32:15       INFO jvm.JvmMetrics:使用processName = JobTracker初始化JVM指标,sessionId =

     

16/09/04 20:32:15       INFO jvm.JvmMetrics:无法使用processName = JobTracker初始化JVM指标,sessionId = - 已初始化

     

16/09/04   20:32:15 WARN mapreduce.JobResourceUploader:Hadoop命令行   选项解析未执行。实现Tool接口并执行   你的应用程序使用ToolRunner来解决这个问题。

     

16/09/04 20:32:15       INFO mapreduce.JobSubmitter:清理暂存区域文件:/app/hadoop/tmp/mapred/staging/hduser932260839/.staging/job_local932260839_0001   线程" main"中的例外情况ExitCodeException exitCode = 1:chmod:不能   访问   `/app/hadoop/tmp/mapred/staging/hduser932260839/.staging/job_local932260839_0001' ;:   没有这样的文件或目录

1 个答案:

答案 0 :(得分:0)

您可以从错误的最后几行看到您运行的java程序无法访问文件夹/ app / hadoop / ........

解决方案是更改文件夹/ app / hadoop的所有权,如下所示:

chown USER_NAME /app/hadoop

将“USER_NAME”替换为您的用户名。 它工作正常!