使用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警告util。native ecodeloader:无法加载本机hadoop库为您的平台…使用内置java类如适用

16/09/04 20:32:15 INFO Configuration.deprecation: session。Id已弃用。相反,使用dfs.metrics。会话id

16/09/04 20:32:15信息jvm。JvmMetrics:使用processName=JobTracker, sessionId=

初始化JVM Metrics

16/09/04 20:32:15信息jvm。JvmMetrics:无法初始化processName=JobTracker, sessionId= - already initialized

16/09/0420:32:15警告mapreduce。JobResourceUploader: Hadoop命令行未执行选项解析。实现工具接口并执行你的应用程序与ToolRunner来弥补这一点。

16/09/04 20:32:15信息mapreduce。JobSubmitter:清理暂存区文件:/app/hadoop/tmp/mapred/staging/hduser932260839/.staging/job_local932260839_0001线程"main"异常ExitCodeException exitCode=1: chmod:不能访问'/app/hadoop/tmp/mapred/临时/hduser932260839/.staging job_local932260839_0001":没有这样的文件或目录

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

解决方案是改变文件夹/app/hadoop的所有权,像这样:

chown USER_NAME /app/hadoop

将"USER_NAME"替换为用户名。它工作得很好!

相关内容

  • 没有找到相关文章

最新更新